我无法在我的代码中启动播放器

时间:2012-10-09 14:19:39

标签: java jmf

我正在尝试启动我的代码并启动播放器。但我不能这样做。

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编辑]

2 个答案:

答案 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不支持视频的格式,你需要一个编解码器。

这可能会有所帮助:Tek-tips: Play MPEG-4 movie with JMF?

答案 1 :(得分:0)

Unable to handle format: MPEG, 160x120, FrameRate=30.0 它无法播放创建的视频流。根据代码的描述和名称,该文件应仅包含压缩格式MP3(MPEG-1 Audio Layer III)的音频流 .mpg扩展名可能包含许多不同的mpeg格式