运行 java 中的 mp3 和 .aac vlc 音频

run mp3 and .aac vlc audio in java

我想要 运行 来自 java 的音频文件,我在 SO 中阅读了很多代码,但也许解包到 运行 我的文件! 似乎我提到了错误的路径或使用了错误的库。 请帮助我 运行 mp3 或 VLC .aac 格式文件

下面的代码有什么问题
  public void playSound() {
  try {
      AudioInputStream audioInputStream =  AudioSystem.getAudioInputStream(new File("D:/clinic/clinic/mysound.mp3").getAbsoluteFile());
     Clip clip = AudioSystem.getClip();
    clip.open(audioInputStream);
    clip.start();
 } catch(Exception ex) {
    System.out.println("Error with playing sound.");
    ex.printStackTrace();
}
}

如果您使用 this.getClass.getResource() 方法而不是 File(file) 方法,也许它会起作用。请记住,音频所在的文件必须与 class 即 运行 在同一个包中。如果这不起作用,请尝试使用 .wav 文件(您可以使用 .mp3 到 .wav 转换器)。

public void run() {
    try {
        AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(this.getClass().getResource("mysound.mp3"));
        Clip clip = AudioSystem.getClip();
        clip.open(audioInputStream);
        clip.start();
        clip.loop(Clip.LOOP_CONTINUOUSLY);
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

希望对您有所帮助。

AudioSystem 不支持 .mp3 文件。 (仅 AIFC、AIFF、AU、SND 和 WAVE)

如果您想使用 .mp3 文件,请尝试使用 MediaPlayer

// Fake init of JFX Toolkit (Just do this once before you use MediaPlayer) 
// Not needed in a JavaFX application as Application.launch() inits the toolkit 
new JFXPanel();  


Media media = new Media(new File("yourFile.mp3").toURI().toString());   
MediaPlayer player = new MediaPlayer(media);    
player.play();  

如果您不想拥有庞大的音频文件,那么本机支持的音频格式非常有用。 我不再使用 WAV 文件,因为这是我可以开始工作的方式,但它一直困扰着我。

使用jaad was trickier than I thought, but I got it working now: