【问题标题】:jQuery jPlayer - How to stop all players before playing a new one?jQuery jPlayer - 如何在播放新玩家之前停止所有玩家?
【发布时间】:2011-02-15 11:17:06
【问题描述】:

当我点击播放时,我需要在播放新的 jPlayer 之前停止所有其他实例。

感谢您的帮助。

【问题讨论】:

    标签: jquery jplayer


    【解决方案1】:
    $('#jPlayer_ID').jPlayer("pauseOthers");
    

    【讨论】:

    • 这没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
    • 实际上它完全符合 OP 的要求,你只需要推断......如果你不能使用我给出的东西,你需要退后一步。我假设他知道如何观看他所说的“点击播放”事件。
    • 这对我有用。此外,如果您想以秒为单位选择放置播放头位置的位置,请传递第二个整数参数。这直接来自文档:// Equivalent to "stop others", passing time as zero. $("#jpId").jPlayer({ play: function() { $(this).jPlayer("pauseOthers", 0); // stop all players except this one. } });
    【解决方案2】:

    你可以使用这个方法:

    $.jPlayer.pause(); // Pause all instances of jPlayer on the page
    

    参考:Jplayer develpment guide

    或者,您也可以将其放入 onclick 或 click 事件函数处理程序中

    $('[id^="jquery_jplayer"]').jPlayer("pause");
    

    【讨论】:

    • 这可以满足您的要求,但是您必须手动触发播放事件。尝试将其添加到您的 jPlayer Obj:$().jPlayer({play:function(){$(this).jPlayer("pauseOthers");}});
    【解决方案3】:

    给所有玩家一个类(我认为默认是 class="jp-jplayer"),然后在初始化选项中包含以下“播放”事件处理程序:

    $("#jplayer1").jPlayer({
        ready: function() {
            $(this).jPlayer("setMedia", {
                mp3: "mp3/track1.mp3"
            });
        },
        play: function() {
            $(".jp-jplayer").not(this).jPlayer("stop");
        },
        swfPath: "js",
        wmode: "window"
    });
    

    【讨论】:

    • 感谢@jackocnr,这对我来说非常有效,不需要任何凌乱的内联javascript。
    【解决方案4】:

    已解决

    只需将 onclick 函数分配给播放触发器,函数就会:

    function stopall(){ $(".jplyrselectr").jPlayer("stop"); }

    【讨论】:

    • 很好 - 当我打开一个带有 youtube 视频的灯箱时,我用它来停止所有 jPlayers。
    【解决方案5】:

    也许$("#jpId1, #jpId2, #jpId3").stop();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多