2012-02-16 11 views
13

動画プレーヤーをスキップして特定の時間に検索する方法を教えてください。私はこれを行ったことがあり、ページが最初にロードされたとき(Chromeでは)は動作しますが、他のブラウザでは動作しません。私はまた、痛みを伴う可能性のあるフラッシュフォールバックを持っていますが、今のところ優先事項はHTMLの側面です。 主な問題は、Chromeの外では機能しないということです!HTML5 video seeking [updated]

編集:これは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秒 "など。

答えて

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

    this.videoPlayer.currentTime = seekToTime; 
} 

これは、使用しているシーク機能です。それはMooToolsの構文ですが、あなたはその点を知っています。それが役に立てば幸い。

+0

経由

import flash.external.ExternalInterface; ExternalInterface.addCallback("methodName", this, method); function method() { trace("called from javascript"); } 

呼び出し、これは/アカウントの終わりに取るオーバーフローを開始するために、今私のコードを変更しました。しかし、どのようなフラッシュのフォールバック? SWFをどのように制御できますか?余計な必要があるJQ – JustAnotherDeveloper

+0

この問題を解決するには、今のところ問題はありません。 – JustAnotherDeveloper

1

あなたはjsとcssで独自のコントロールを作ったと思いますか?さて、あなたはjavascriptからシーク関数を呼び出すことができるあなたのswfを拡張する必要があります。外部インタフェースはあなたの友達です:アクションスクリプト/フラッシュで:javascriptの

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

私は現時点で基本的なフラッシュビデオプレーヤーを使用しています、私はFlowPlayerまたはJWPLayerなどを使用する予定です。ちょうどそれらを私のイベントにフックする方法を見つける必要があります:) – JustAnotherDeveloper

関連する問題