Java检测音频文件(mp3)

我有这个代码读取一个mp3文件

import java.io.File; import java.io.IOException; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.UnsupportedAudioFileException; public class Sound { public static void main(String[] args) { File sampleFile = new File("test.mp3"); try { AudioSystem.getAudioFileFormat(sampleFile); } catch (UnsupportedAudioFileException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 

这里的问题是它返回文件不支持exception,这里的文件是一个mp3文件。 Java不支持mp3文件? 如果是这样,其他人validation音频文件是什么?(如ogg,wav)

你可以看看Apache Tika库。 它可以通过其内容检测文件的类型并提取文件元数据。 它支持 mp3格式。

以下是使用Apache Tika检测文件类型的示例 。

您需要添加MP3SPI库,以便java audio api可以识别和解码mp3文件。