我想从java运行音频文件,我在SO中读取了很多代码,但是也许无法运行我的文件! 似乎我提到错误的路径或使用错误的lib。 请帮助我在下面的代码中运行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();
}
}
答案 0 :(得分:2)
如果使用this.getClass.getResource()方法而不是File(file)方法,那么它可能会起作用。请记住,音频所在的文件必须与运行它的类位于同一个包中。如果这不起作用,那么尝试使用.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();
}
}
我希望这会有所帮助。
答案 1 :(得分:2)
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();
答案 2 :(得分:0)
如果您不想拥有巨大的音频文件,那么本机支持的音频格式就是非常有用的。 我结束了使用WAV文件,因为它是我可以开始工作的,但它一直困扰着我。
使用jaad比我想象的要复杂,但我现在就开始工作了:Java play AAC encoded audio