javascript - 播放播放列表中特定时间位置的歌曲

标签 javascript jquery audio jplayer

我正在使用jPlayer插件。

例如,播放列表中有 13 首歌曲。我想为每首歌曲设置一个开始时间(当前时间),例如:第一首歌曲从 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,因为根据manual

If issued immediately after a setMedia command, with the time parameter, and when the browser is using the HTML5 solution, this command will initially fail and an internal timeout is setup to retry the command every 100ms until it succeeds.

演示

参见this jsFiddle用于代码和演示。

关于javascript - 播放播放列表中特定时间位置的歌曲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31564753/

相关文章:

javascript - 手动写入后无法使用 javascript 更新 textarea

javascript - 如何在 React Native 中将 PCM 样本从麦克风转换为字节

javascript - 如何用highchart制作讲台

javascript - 创建元素后运行回调

jquery - AJAX 网站和动态 HTML Canvas 的 SEO 优化

c# - C#-在音频文件上添加自定义标签元数据

javascript - 如何在没有多个属性的情况下在 semantic-ui-vue 下拉列表中显示占位符?

php - 使用 jquery 跨站点发布 JSON 数据

audio - 如何显示麦克风的当前音量?

javascript - 如MixCloud所管理的,如何在不同的浏览器之间传递HTML5音频播放位置(和状态)?