私のためにビデオを再生し、ビデオが終了したときに戻る機能で、以前は戻っていない機能が必要です。だから、私が "play( 'video1'); play( 'video2');両方のビデオを連続して再生する必要があります。私はこれを行ういくつかの試みを行ったが、これまでのすべての試みは、ビデオを再生したり、すべてのビデオを同時に再生したりしない。以下は、ビデオを再生するための基本的な機能を掲載しましたが、今はリターンを遅らせる方法が必要です。何か案は?メディアの再生が終了するまで戻りません。
private static void play(String name) throws InterruptedException {
Media media = new Media(uri(name));
MediaPlayer player = new MediaPlayer(media);
player.setAutoPlay(true);
view.setMediaPlayer(player);
}
Iは、以下を試してみました:関数の終了時に無限ループと組み合わせて
player.setOnEndOfMedia(() -> { return; });
。何らかの理由で、ビデオが再生されないようにします。どんな良いアイデアですか?
こんにちはジェームズ、あなたの迅速な対応をありがとうございましたjavafxがイベント駆動型であるという考えは本当に助けになりました。私はあなたの機能を使用しており、それは素晴らしい仕事です。私は2つのビデオの間に短い白いちらつきを防ぐ良い方法があるかどうか疑問に思っています。 (私のビデオの開始と終了はおおよそ同じ画面上にあるので、ビデオのフレームをシーンの背景として設定することを考えていました。この効果を得るにはより良い方法がありますか?) – Joan
@Joanわかりません:それを試してみて、手にするのに適したビデオファイルを持っていない。メディアがディスク(またはどこからでも)から読み込まれている間、しかし 'view.setMediaPlayer(...) 'の呼び出しが完了した後、短時間のうちに"フリッカー "が起こっていると思われます。おそらく次の 'Media'オブジェクト(または' MediaPlayer'オブジェクト)を1つ先のビデオをロードして読み込むことによって、「次のビデオを前もってキューに入れる」のようなことをすることができます。しかし、コードは複雑になるかもしれません。 –