0

コードを起動してプレーヤーを起動しようとしています。しかし、私はそれをすることはできません。

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)

[/フィリップによる編集]

4

2 に答える 2

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 の最初の 1 秒が聞こえる場合は、これが問題です。

編集また、誰かがスラッシュの問題を指摘しました。パスも正しいはずですが、スラッシュが欠落していませんが、むしろ1つ多すぎます...

EDIT2 OK、私は mpg を mp3 と読み間違えました。投稿者がエラーを投稿したように、ビデオの形式は JMF でサポートされていないため、コーデックが必要です。

これが役立つかもしれません:ヒント: JMF で MPEG-4 ムービーを再生しますか?

于 2012-10-09T14:25:21.623 に答える
0

Unable to handle format: MPEG, 160x120, FrameRate=30.0見つかったビデオ ストリーム を再生できません。コードの説明と名前から、ファイルには圧縮形式 MP3 (MPEG-1 Audio Layer III) のオーディオ ストリームのみが含まれていることが予想されます。.mpg 拡張子には、多くの異なる mpeg 形式が含まれる場合があります

于 2012-10-09T15:00:28.883 に答える