0

嗨,我在页面中嵌入了一个 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("播放");

部分代码自动播放的东西。我如何将其移动到 50%?它应该在它开始播放时立即完成,而用户不会注意到它。

4

2 回答 2

0

应该是这样的,但是 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 秒开始播放音乐。

于 2011-05-19T12:51:03.340 回答
0

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

$(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 秒后移动玩家的头部。

于 2011-05-19T13:09:34.797 回答