如何使用Java播放MP3文件?
使用如何使用Java播放MP3文件?,java,audio,mp3,javafx-2,javasound,Java,Audio,Mp3,Javafx 2,Javasound,使用Applet.AudioClip我可以播放.wav文件,但如果我尝试在MP3文件上播放,那么即使没有引发异常,也不会播放音频 有没有办法用Java播放MP3,无论是使用Swing、JavaFX还是其他Java技术 package test; import java.io.File; import javax.media.Format; import javax.media.Manager; import javax.media.MediaLocator; import javax.med
Applet.AudioClip
我可以播放.wav文件,但如果我尝试在MP3文件上播放,那么即使没有引发异常,也不会播放音频
有没有办法用Java播放MP3,无论是使用Swing、JavaFX还是其他Java技术
package test;
import java.io.File;
import javax.media.Format;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Player;
import javax.media.PlugInManager;
import javax.media.format.AudioFormat;
public class AudioTest {
public static void main(String[] args) {
Format input1 = new AudioFormat(AudioFormat.MPEGLAYER3);
Format input2 = new AudioFormat(AudioFormat.MPEG);
Format output = new AudioFormat(AudioFormat.LINEAR);
PlugInManager.addPlugIn(
"com.sun.media.codec.audio.mp3.JavaDecoder",
new Format[]{input1, input2},
new Format[]{output},
PlugInManager.CODEC
);
try{
Player player = Manager.createPlayer(new MediaLocator(new File("data/audioFiles/abc.mp3").toURI().toURL()));
player.start();
}
catch(Exception ex){
ex.printStackTrace();
}
}
}
希望对您有所帮助。mp3不是一个安全漏洞吗?See的可能副本,它将JMF的mp3 SPI与Java声音相结合。
import javax.media.Format
给了我一个错误,说没有这样的包javax.media
?我有JavaFX2.1.1installed@AndrewThompson尝试导入javax.media.format.AudioFormat包JavaFX包名的前缀是JavaFX
(您可能会注意到,如果您曾经检查过Java文档或JavaFX项目的导入..)。上面的代码是纯JMF的。@Tapan我猜你的意思是对提问者的评论。我使用JMF SPI播放MP3,它不需要在代码中导入,只需放在运行时类路径上。