2013-07-22 38 views
0

我正在嘗試構建自定義視頻播放器。Firefox顯示html5中的video.duration存在問題

<video preload="metadata" id="videoPlayer" style="width: 640px; height: 360px;"> 

</video> 
<script type="text/javascript"> 

    var v   = ""; 
    var myVideo  = ""; 

    $(document).ready(function() { 

     v  = $("#videoPlayer"); 
     myVideo = v.get(0); 

     $(".playlist").click(function() { 

         v.attr("src","http://www.jplayer.org/video/webm/Big_Buck_Bunny_Trailer.webm"); 
        myVideo.play(); 
     }); 

     myVideo.addEventListener('loadedmetadata', function() { 

      // in chrome it is working fine and shows the duration 00-00-33 
      // but in firox it is showing Infinity. 
       console.log(myVideo.duration); 

      }); 
    }); 
<script> 

在鉻視頻播放和顯示持續時間33.02。但在fireox中它顯示出無限。所以我無法實施搜索欄。我想我缺少一些東西

+0

直到1)點擊按鈕並設置'src'和2)'loadedmetadata'事件觸發後,你纔會獲得持續時間的值。試試這個例子。適用於Chrome和FF。 http://jsbin.com/awuqon/1/edit – brianchirls

+0

我試過了你的演示。但是當我看着控制檯時,它仍然在Mozilla中顯示Infinity。 –

+0

@brianchirls即使點擊事件後,它顯示無窮大。即視頻正在播放myVideo.duration = Infinity –

回答

0

音頻/視頻的持續時間是NaN(不是數字),並且Firefox/Firefox中的時間軸滑塊被禁用,但不會加載,但不會播放音頻/視頻。

確保您的服務器在其響應頭中設置內容長度內容範圍屬性。