2013-03-02 168 views
1

我想一首歌的當前時間,我使用獲取當前時間jPlayer

var currentTime = $('#jquery_jplayer_1').data("jPlayer").status.currentTime; 

爲其但我正在逐漸和錯誤遺漏的類型錯誤:未定義無法讀取屬性「狀態」在控制檯中。

我想要做的是假設一首歌正在播放,當用戶點擊另一首歌曲的播放按鈕時,我想要獲得上一首歌曲播放的時間,然後開始播放點擊的歌曲。

這裏是我的代碼:

var currentTime = $('#jquery_jplayer_1').data("jPlayer").status.currentTime; 
alert(currentTime); 

$("#jquery_jplayer_1").jPlayer("stop"); 

var id = "#jquery_jplayer_1"; 
var media = { 
    mp3: audio_element 
}; 
var options = { 
    swfPath: "/appystream/assets/jplayer", 
    supplied: "mp3", 
    wmode: "window" 
}; 
var currentTime = $('#jquery_jplayer_1').data("jPlayer").status.currentTime; 
alert(currentTime); 

// jPlayer android versions 2.3 fix. 
var myFix = new jPlayerAndroidFix(id, media, options); 
myFix.setMedia(media).play(); 
setTimeout(function() { 
    myFix.setMedia(media).play(); 
}, 2000); 

無論身在何處,我把代碼即可獲得當前的時間,它與上面給出的錯誤響應..

我在做什麼錯?我該怎麼辦呢?

回答

2

我認爲你是以錯誤的方式做事。我的方式我做的事情是:

$(document).ready(function(){ 

    $("#jp").jPlayer({ 
     ready: function() { 
      $(this).jPlayer("setMedia", { 
       m4v: "http://www.jplayer.org/video/m4v/Big_Buck_Bunny_Trailer_480x270_h264aac.m4v", 
       ogv: "http://www.jplayer.org/video/ogv/Big_Buck_Bunny_Trailer_480x270.ogv", 
       poster: "http://www.jplayer.org/video/poster/Big_Buck_Bunny_Trailer_480x270.png" 
      }); 
     }, 
     ended: function (event) { 
      $(this).jPlayer("play"); 
     }, 
     swfPath: "js", 
     supplied: "m4v, ogv" 
    }); 

    $("#jp").bind($.jPlayer.event.timeupdate, function(event) { 
     var currentTime = Math.floor(event.jPlayer.status.currentTime) 

     if (currentTime < 3){ 
      $("#slideshow").html("<img src='http://yoursite.com.com/wm/jplayer/slides/slide1.png'/>"); 
     } 

     if (currentTime >= 3 && currentTime < 12){ 
      $("#slideshow").html("<img src='http://yoursite.com.com/wm/jplayer/slides/slide2.png'/>"); 
     } 

     if (currentTime >= 12 && currentTime < 16){ 
      $("#slideshow").html("<img src='http://yoursite.com.com/wm/jplayer/slides/slide3.png'/>"); 
     } 

     if (currentTime >= 16 && currentTime < 22){ 
      $("#slideshow").html("<img src='http://yoursite.com.com/wm/jplayer/slides/slide4.png'/>"); 
     } 

     if (currentTime >= 22 && currentTime < 30){ 
      $("#slideshow").html("<img src='http://yoursite.com.com/wm/jplayer/slides/slide5.png'/>"); 
     } 


     if (currentTime >= 30){ 
      $("#slideshow").html("<img src='http://yoursite.com.com/wm/jplayer/slides/fin.png'/>"); 
     } 



    }); 


}); 
+1

感謝您的答覆夥計..雖然這不是我期待的答案,我有一個想法了:) – 2013-03-02 08:02:57

0

我知道確實是一個老問題,但我只需要爲你希望期待同樣的答案,並找到了解決辦法。

這可能是你想要的東西?

$("#jquery_jplayer_1").jPlayer()[0].childNodes[1].currentTime 

如果沒有,在$玩弄( 「#jquery_jplayer_1」)。jPlayer()[0] .childNodes找到音頻元素。但據我所知,應該只有兩個元素 - img和音頻。音頻是第二個,這就是爲什麼你做childNodes [1]。

希望這會有所幫助