我正在尝试启动我的代码并启动播放器。但我做不到。
import javax.media.*;
import java.io.*;
public class MP3Player {
public static void main(String[] args) throws Exception {
File file = new File("c://player/trigger.mpg");
MediaLocator mrl = new MediaLocator(file.toURL());
Player player = Manager.createPlayer(mrl);
player.start();
}
}
[菲利普编辑] 根据原作者的评论,Netbeans 打印以下错误消息:
Unable to handle format: MPEG, 160x120, FrameRate=30.0, Length=28800 Failed to realize:
com.sun.media.PlaybackEngine@131f71a Error: Unable to realize
com.sun.media.PlaybackEngine@131f71a BUILD SUCCESSFUL (total time: 1 second)
[/菲利普编辑]
最佳答案
我根本不了解 JMF 播放器,但我认为问题是代码在发出命令后立即退出,终止任何其他线程...
我尝试插入一个 Thread.sleep(1000);在player.start()之后; :
public class MP3Player {
public static void main(String[] args) throws Exception
{
File file = new File("c:/player/trigger.mpg");
MediaLocator mrl = new MediaLocator(file.toURL());
Player player = Manager.createPlayer(mrl);
player.start();
Thread.sleep(1000);
}
}
如果现在可以听到 MP3 的第一秒,那就是问题所在。
编辑另外,有人指出斜杠的问题,路径也应该是正确的,但是斜杠没有丢失,但是斜杠太多了......
EDIT2 好吧,我把 mpg 误读成了 mp3,正如发帖者发布的那样,他得到了错误:JMF 不支持视频格式,您需要一个编解码器。
关于java - 我无法在我的代码中启动播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12802134/