2013-03-02 161 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]。

希望这会有所帮助