5

埋め込まれた youtube ビデオを再生するとき、完成時に解像度の低いサムネイルを表示したくありません。代わりに、最後のフレームの高解像度画像が必要です。これは可能ですか?

最後のフレームで一時停止するか、最後のフレームの高解像度のサムネイルを作成する方法はありますか?

4

5 に答える 5

0

ビデオ プレーヤーは、ステータスYT.PlayerState.ENDEDでコールバックを呼び出す前に、ステータスYT.PlayerState.PAUSEDでコールバック「onStateChange」を提供します。ここで試すことができます。

私も同じことをしています。再生ボタンでビデオを覆うためにオーバーレイを表示しているだけですが、それでもビデオの最後に表示され、その後オーバーレイが表示されます (いくつかの不具合が見られます)

于 2013-10-30T04:49:20.997 に答える
0

この問題にも遭遇した後、私はこれに行き着きました。これは、これまでのところかなり一貫して機能しています。

var player;
var curTimer;
function onYouTubeIframeAPIReady() {
    player = new YT.Player('player', {
                    videoId: 'The Video ID',
                    playerVars: { 'rel':0, 'enablejsapi':1, 'autohide':1, 'wmode':'opaque'}
                });
    player.addEventListener('onReady', 'onPlayerReady');
    player.addEventListener('onStateChange', 'onPlayerStateChange');
}
function onPlayerStateChange(event) {
    var videoDuration = event.target.getDuration();
    var curTime = event.target.getCurrentTime();
    if ( curTime ) {
        /**  Video Already Started  */

        /**  Get video time remaining. */
        videoDuration = videoDuration-curTime;

        /**  Remove old 'setTimeout' function */
        removeTimeout(curTimer);
    }
    /**
        Note: The '.25' is time subtracted to stop video on last frame.
        Adjust this as needed.
    */
    /**  Add/Re-Add 'setTimeout' function with video time remaining. */
    curTimer = setTimeout(pauseVideo, (videoDuration-.25)*1000);
}
function removeTimeout(elTimer){
    /** Remove old timer */
    clearTimeout(elTimer);
}
function stopVideo() {
    player.stopVideo();
}

説明および/またはメモはコメント内にあります。

于 2015-12-30T01:07:20.743 に答える