Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Java播放MP3文件?_Java_Audio_Mp3_Javafx 2_Javasound - Fatal编程技术网

如何使用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,它不需要在代码中导入,只需放在运行时类路径上。