我正在尝试启动我的代码并启动播放器。但我不能这样做。
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();
}
}
[由Philipp编辑] 根据原作者的评论,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)
[/由Philipp编辑]
答案 0 :(得分:1)
我根本不了解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 好的,我误读了mp3的mpg,并且海报发布了他得到的错误:JMF不支持视频的格式,你需要一个编解码器。
答案 1 :(得分:0)
Unable to handle format: MPEG, 160x120, FrameRate=30.0
它无法播放创建的视频流。根据代码的描述和名称,该文件应仅包含压缩格式MP3(MPEG-1 Audio Layer III)的音频流。 .mpg扩展名可能包含许多不同的mpeg格式