2011-08-02 38 views
8

我一直在使用JavaScript脚本VideoJS:http://videojs.com/来构建一些视频播放器,这些视频播放器可以在弹出窗口中显示给用户。我已经建立了弹出如下:VideoJS:停止模式关闭视频并且不嵌入页面

 <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实现这个功能的示例,因为我将拥有多个视频,因此只需根据链接上的#标签将其拉入即可!

谢谢

回答

9

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

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

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

此外,您可以设置暂停前的当前视频时间来模拟一种停止:myPlayer.currentTime(0);如果你想做stopVideo。 https://github.com/videojs/video.js/blob/stable/docs/api/vjs.Player.md#currenttime-seconds- –

+0

@ValentinVrinceanu链接已死亡。 – atilkan

+0

@emrah前一阵子http://docs.videojs.com/docs/api/index.html –

0
的videojs

此代码可防止多个玩家在视频库中运行:

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

    $(this).player.pause(); 

}); 
相关问题