我正在使用jPlayer插件。
在示例中,播放列表中有13首歌曲。我想为每首歌设置一个开始时间(currentTime),如:第一首歌从2秒开始,第二首歌从3秒开始,第五首歌从4秒开始。
以下是jsFiddle示例。
在这个例子中,我添加了var tag = $('.audio-tag audio')[0];
来全局查找当前播放的歌曲,但它不在jPlayer插件中。
如何获取当前音频tag
& number
为jPlayer播放列表的每首歌设置currentTime?
答案 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以获取代码和演示。