Youtube API を使用してビデオを特定のポイントまで再生してから一時停止する方法はありますか?
2 に答える
YouTube Player APIリファレンスのiframe埋め込みのコードを変更して、特定の秒数後に再生を一時停止しました。
onPlayerStateChange
コードは、イベントを待機することで機能します。イベントが発生すると、イベントをチェックして、それがイベントであるかどうかを確認しますPLAYING
。そうである場合は、現在の時刻(getCurrentTime()
メソッド)から目的の一時停止ポイント(stopPlayAt
変数としてハードコードされている)までの残り時間を計算します。Javascriptタイマーを設定してその差を待機し、APIにコマンドを渡してビデオを一時停止します。
cueVideoById
これを実現するには、オブジェクト構文のコマンドを使用できます。
こちらをご覧ください:https ://developers.google.com/youtube/iframe_api_reference#cueVideoById
これは、このようなビデオを開始するための外観です。
//Minimal Example
player.cueVideoById({videoId:String, endSeconds:Number});
player.playVideo();
編集:上記のサンプルはビデオを停止します。一時停止する場合は、JavaScriptコードでもう少しアクションが必要です。
詳細には、適切なタイミングでポーリングする必要があります。
function checkTime() {
if ( player.getCurrentTime() == finishTime )
player.pauseVideo()
else
setInterval(checkTime, 500);
}
checkTime();
または、JSで時間を追跡します。
var duration = finishTime - player.getCurrentTime();
player.playVideo()
setInterval("player.pauseVideo();", duration*1000);