HTML5视频搜索

时间:2012-02-16 12:50:48

标签: javascript jquery html5 html5-video

如何让我的视频播放器跳过/寻找某个时间。我已经开始使用它,它可以在页面首次加载(在Chrome中)但在任何其他浏览器中都无效。我也有一个闪回落,这可能是一个痛苦,但现在优先考虑的事情是HTML方面 主要问题是它在Chrome之外无效!

编辑:现在可以在IE9,Chrome和Firefox中使用。但是,不是闪光后退!

以下是我到目前为止的尝试。

到目前为止,我正在使用以下JS:

   <script language="javascript">
     $(function () {
     var v = $("#video").get(0);
         $('#play').click(function(){
                v.play();
         });

        $('.s').click(function(){
            alert("Clicked: "+$(this).html() +"- has time of -" + $(this).attr('s') );
            v.currentTime = $(this).attr('s'); v.play();
        });
     });
    </script>

指向以下内容的链接:

<video id="video" controls width="500">  
        <!-- if Firefox -->  
        <source src="video.ogg" type="video/ogg" />  
        <!-- if Safari/Chrome-->  
        <source src="video.mp4" type="video/mp4" />  
        <!-- If the browser doesn't understand the <video> element, then reference a Flash file. You could also write something like "Use a Better Browser!" if you're feeling nasty. (Better to use a Flash file though.) -->  
        <object type="application/x-shockwave-flash" data="player.swf"
        width="854" height="504">
            <param name="allowfullscreen" value="true">
            <param name="allowscriptaccess" value="always">
            <param name="flashvars" value="file=video.mp4">
            <!--[if IE]><param name="movie" value="player.swf"><![endif]-->
            <p>Your browser can’t play HTML5 video.</p>
  </object>
    </video>

具有包含类s的按钮和自定义属性s=60达“60秒”等的上下文。

2 个答案:

答案 0 :(得分:11)

seekToTime:function( value )
{
    var seekToTime = this.videoPlayer.currentTime + value;
    if( seekToTime < 0 || seekToTime > this.videoPlayer.duration ) 
        return;

    this.videoPlayer.currentTime = seekToTime;
}

这是我们正在使用的搜索功能。这是MooTools的语法,但你会明白这一点。希望它有所帮助。

答案 1 :(得分:1)

我猜你用js和css构建了自己的控件?!好吧,因此你必须扩展你的swf,你可以从javascript调用你的搜索功能。外部接口是你的朋友:在actionscript / flash中:

 import flash.external.ExternalInterface; 

 ExternalInterface.addCallback( "methodName", this, method ); 

 function method() { trace("called from javascript"); }

通过javascript调用此内容

function callAS() {
    swf.methodName();
}