网上试了好多方案,jave,jaudiotagger都是不准确或者有问题的。
最后发现了如下方案
本地
File source = new File("C:\\Users\\5eece771f85d4c0a8ecbf510e078f697.wav");
Clip clip = AudioSystem.getClip();
AudioInputStream ais = AudioSystem.getAudioInputStream(source);
clip.open(ais);
System.out.println(clip.getMicrosecondLength() / 1000000D + " s");
网络
Clip clip = AudioSystem.getClip();
URL url = new URL("https://9617af9fad9749eeb8a2f2bff0c715e5.wav");
AudioInputStream ais = AudioSystem.getAudioInputStream(url);
clip.open(ais);
System.out.println(clip.getMicrosecondLength() / 1000000D + " s");
后来发现linux无效,所以只好下载到本地后读取再删除
URL url = new URL("http://xxx/f520b24726a175