如何在加载时在中间的jPlayer中开始一首歌

How to start a song in jPlayer in the middle on load

本文关键字:开始 一首 jPlayer 加载 在中间      更新时间:2023-09-26

嗨,我有一个嵌入在页面中的jPlayer

$(document).ready(function(){
      $("#jquery_jplayer_1").jPlayer({
        ready: function () {
          $(this).jPlayer("setMedia", {
            mp3: playList[0]
          }).jPlayer("play");
        },
        swfPath: "js",
        supplied: "mp3"
      });
    changeSong(0);
  $("#jquery_jplayer_1").bind($.jPlayer.event.ended + ".jp-repeat", function(event) { // Using ".jp-repeat" namespace so we can easily remove this event
  });
});

此处已预先定义了变量数组播放列表。此外,我正在绑定一个事件以在歌曲结束时更改歌曲。

这些东西完美地工作。

我想要的不是从头开始播放歌曲,而是从 50% 开始播放,它应该自动播放。

.jPlayer("play");

部分在代码自动播放的东西。如何将其移至 50%?它应该在用户没有注意到的情况下开始播放后立即完成。

它应该是这样的,但是changeSong函数做了什么?

试试这个:

 $(document).ready(function(){
      $("#jquery_jplayer_1").jPlayer({
       setInterval( function () {
         var duration = $(this).duration;
          $(this).jPlayer("setMedia", {
            mp3: playList[0]
          }).jPlayer("play");
        }, duration-10000),
        swfPath: "js",
        supplied: "mp3"
      });
    changeSong(0);
  $("#jquery_jplayer_1").bind($.jPlayer.event.ended + ".jp-repeat", function(event) { // Using ".jp-repeat" namespace so we can easily remove this event
  });
});

这将在另一个开始前 10 秒开始音乐。

这可能不是一个优雅的解决方案,但这就是我所做的

$(document).ready(function(){
      $("#jquery_jplayer_1").jPlayer({
        ready: function () {
          $(this).jPlayer("setMedia", {
            mp3: playList[0]
          }).jPlayer("play");
        },
        swfPath: "js",
        supplied: "mp3"
      });
    changeSong(0);
  $("#jquery_jplayer_1").bind($.jPlayer.event.ended + ".jp-repeat", function(event) { // Using ".jp-repeat" namespace so we can easily remove this event
  });
  pushForwardTimeInSong();
//other codes
//
//
function pushForwardTimeInSong()
{
    setTimeout("$('#jquery_jplayer_1').jPlayer('playHead', 50);",2000);
}

我在那里调用了一个新功能,让它在 2 秒后移动玩家头部。