繁体   English   中英

在播放列表中的特定时间播放歌曲

[英]Play song at specific time position from a playlist

我正在使用jPlayer插件。

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

这是一个jsFiddle示例。

在此示例中,我添加了var tag = $('.audio-tag audio')[0]; 在全球范围内查找当前播放的歌曲,但它不在jPlayer插件中。

如何获取当前的音频tagnumber以为jPlayer播放列表的每首歌曲设置currentTime?

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);
});  

笔记

需要调用setTimeoout ,因为根据手册

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

DEMO

有关代码和演示,请参见此jsFiddle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM