从播放列表播放特定时间位置的歌曲

时间:2015-07-22 13:35:54

标签: javascript jquery audio jplayer

我正在使用jPlayer插件。

在示例中,播放列表中有13首歌曲。我想为每首歌设置一个开始时间(currentTime),如:第一首歌从2秒开始,第二首歌从3秒开始,第五首歌从4秒开始。

以下是jsFiddle示例。

在这个例子中,我添加了var tag = $('.audio-tag audio')[0];来全局查找当前播放的歌曲,但它不在jPlayer插件中。

如何获取当前音频tag& number为jPlayer播放列表的每首歌设置currentTime?

1 个答案:

答案 0 :(得分:1)

<强>解

var $jp = $('#jquery_jplayer_1');
$jp.on($.jPlayer.event.setmedia,  function(e){
   console.log("Current track", e.jPlayer.status.media);
   console.log("Currentr track index", myPlayer.current);

   // For first track (0) - 2 sec, second track (1) - 3 sec, etc.
   var time = myPlayer.current + 2;

   // Jump to desired time
   setTimeout(function(){ 
       $jp.jPlayer( "play", time); 
   }, 100);
});  

备注

根据manual

,需要致电setTimeoout
  

如果在setMedia命令之后立即使用time参数发出,并且当浏览器使用HTML5解决方案时,此命令将最初失败并设置内部超时以重试每个命令100毫秒,直到成功。

<强>样本

请参阅this jsFiddle以获取代码和演示。