VideoJS:在模态关闭时停止视频而不在页面中嵌入

时间:2011-08-02 08:52:10

标签: javascript jquery video

我一直在使用JavaScript脚本VideoJS:http://videojs.com/来构建一些可以在弹出窗口中向用户显示的视频播放器。我按如下方式构建了弹出窗口:

        <script type="text/javascript"> 

            VideoJS.setupAllWhenReady();

            jQuery(document).ready(function ()
            {
                // videos have video js applied to them
                //$("video").VideoJS()

                $(".show-video").click(function ()
                {
                    $(".video-background").show();
                    $(".video-container").fadeIn("fast");
                });
                $(".close-video").click(function ()
                {
                    $('.video-background').fadeOut();
                    $('.video-container').fadeOut();

                });
            });
        </script>

<a class="show-video">Show Video</a>

        <div class="video-background">
            <div class="video-container">

                <div class="video-js-box vim-css">
                    <video id="video1" class="video-js" poster="wallpaper.png" controls="controls" width="1024" height="768">
                        <source src="video.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' /> 
                        <object id="flash_fallback_1" class="vjs-flash-fallback" width="1024" height="768" type="application/x-shockwave-flash"
                            data="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf"> 
                            <param name="movie" value="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf" /> 
                            <param name="allowfullscreen" value="true" /> 
                            <param name="flashvars" value='config={"playlist":["poster.png", {"url": "video.mp4","autoPlay":false,"autoBuffering":true}]}' /> 
                          </object>
                    </video>
                </div>

                <a class="close-video">Close Video</a>

            </div>
        </div>

我有两个问题:

1)如果视频正在播放且用户关闭视频弹出窗口,则视频仍将在后台播放...如何停止播放?

2)我注意到在http://www.apple.com/imac/features.html这样的网站上,视频以相同的方式弹出,使用标签和ID来显示内容,但与我的示例不同,视频不在页面中。关于他们如何做到这一点的任何想法?因为他们没有加载外部网页。很想看到一些如何用jQuery做这个的例子,因为我将有多个视频,所以根据链接上的#标签将它们拉进来真是太棒了!

由于

3 个答案:

答案 0 :(得分:9)

有两种方法可以做到这一点。

  1. 关闭弹出窗口时删除整个视频。使用$(video).remove()
  2. 使用videojs javascript方法

    VideoJS.DOMReady(function(){
      var myPlayer = VideoJS.setup("example_video_1");
      myPlayer.pause();  
    });
    

答案 1 :(得分:4)

http://help.videojs.com/discussions/suggestions/9-play-and-pause-video-via-jquery

在“jquery.reveal.js”中放置您希望视频暂停的功能

$(".video-js")[0].player.pause();

答案 2 :(得分:1)

此代码可阻止多个玩家在视频库中投放:

$(".video-js").each(function() {

    $(this).player.pause();

});