34

私はクライアントのサイトで作業していますが、クライアントは一部のビデオコンテンツの配信方法としてHTML5のビデオタグを使用することに固執しています。私は現在、Internet Explorer Flashフォールバックを処理するために、http: //videojs.com/の助けを借りて稼働しています。

彼らが私に頼んだことの1つは、ビデオの再生が終了した後(すべて異なる長さです)、フェードアウトしてから、ビデオの代わりに画像をフェードアウトすることです。ビデオ。

これも可能ですか?現在再生中の映画のタイムコードをJavascriptまたはその他の方法で取得できますか?Flowplayer(http://flowplayer.org/demos/scripting/grow.html)にonFinish関数があることは知っていますが、HTML5ビデオメソッドの代わりに使用する必要があるルートですか?IEユーザーがFlashプレーヤーを入手するという事実には、2つの別々のソリューションが必要ですか?

任意の入力をいただければ幸いです。私は現在サイトでjQueryを使用しているので、可能な限りその領域でソリューションを維持したいと思います。ありがとう!

4

3 に答える 3

71

仕様のイベントの完全なリストは、こちらで確認できます

例えば:

$("video").bind("ended", function() {
   alert("I'm done!");
});

jQueryの他の要素と同じように、要素のイベントにバインドできます...コメントの質問については、IEに提供する要素が何であれ、そうです、提供するイベントに合わせて別のハンドラーを設定する必要があります。

タイムコードに関するもう1つの質問については、timeupdateイベントは再生中にdurationchange発生し、イベントは全体の継続時間が変化したときに発生します。ended上記のイベントで示したように、バインドして使用できます。timeupdateおそらくcurrentTimeプロパティが必要にdurationchangeなります。プロパティが必要になりdurationます。各プロパティは、次のようにDOMオブジェクトから直接取得します。

$("video").bind("durationchange", function() {
   alert("Current duration is: " + this.duration);
});
于 2010-06-02T02:25:26.030 に答える
3

ビデオタグに関連付けられたOnEndedイベントがあります。ただし、現在のバージョンのGoogleChromeでは機能しません。

HTML5ビデオOnEndedイベントが起動しない

と参照してください

HTML5ビデオが終了したことを検出する

汎用ソリューションの場合(フォールバック付きのビデオタグをサポートしますを参照)

http://camendesign.com/code/video_for_everybody または http://www.kaltura.org/project/HTML5_Video_Media_JavaScript_Libraryまたはhttp://www.mediafront.org/

于 2010-06-02T02:21:22.183 に答える
1

このコードを使用しました。それは基本的にビデオをリロードし、ポスターを再び表示させます。最後の画像をポスターと同じにしたい場合。ページに動画が1つしかないので、動画タグを使用すると機能します。ページの読み込み時に動画を自動再生するように設定しているので、再読み込み後に一時停止を追加しました。

<script type="text/javascript">
    var video= $('video')[0]; 
    var videoJ= $('video');        
    videoJ.on('ended',function(){
        video.load();     
        video.pause();
    });
</script>
于 2015-04-10T13:28:44.703 に答える