如何使用Jquery在视频结束时显示海报图像?

时间:2012-09-11 07:20:27

标签: javascript jquery html5 html5-video

我的HTML5视频控制API得到了一个形状。但是现在客户要我播放视频后播放海报。

现在有一个深黑色的背景。

请告诉我如何做到这一点。

<video width="640" height="360" x-webkit-airplay="allow" poster="asserts/poster.png" preload="" tabindex="0" class="video1">
    <source data-quality="sd" src="http://media.jilion.com/videos/demo/midnight_sun_sv1_360p.mp4"></source>
    <source data-quality="hd" src="http://media.jilion.com/videos/demo/midnight_sun_sv1_720p.mp4"></source>            
    <source data-quality="sd" src="http://media.jilion.com/videos/demo/midnight_sun_sv1_360p.webm"></source>
    <source data-quality="hd" src="http://media.jilion.com/videos/demo/midnight_sun_sv1_720p.webm"></source>            
</video>

播放/暂停的Jquery功能是:

/* Play/Pause */
    var gPlay = function() {
        if($hdVideo.attr('paused') == false) {
            $hdVideo[0].pause();
            $video_main_control.removeClass("hd-video-main-control-none");
            $hdVideo[0].poster.show();
        }
        else {
            $hdVideo[0].play();
            $video_main_control.addClass("hd-video-main-control-none");
        }
    };
    $video_main_control.click(gPlay);
    $hd_play_btn.click(gPlay);
    $hdVideo.click(gPlay);
    $hdVideo.bind('play', function() {
        $hd_play_btn.addClass('hd-paused-button');
            });
            $hdVideo.bind('pause', function() {
                $hd_play_btn.removeClass('hd-paused-button');
            });
    $hdVideo.bind('ended', function() {
                $hd_play_btn.removeClass('hd-paused-button');
    });

1 个答案:

答案 0 :(得分:0)

<video width="640" height="360" x-webkit-airplay="allow" poster="asserts/poster.png" preload="" tabindex="0" class="video1" id="video_elem">       
</video>

var showBanner = function () {
    // Show your banner
};
document.getElementById("video_elem").addEventListener("ended",showBanner, false );

视频api为此目的有“结束”事件。参考:https://developer.mozilla.org/en-US/docs/DOM/Media_events