【问题标题】:Multiple audio players pause each other多个音频播放器互相暂停
【发布时间】:2015-09-09 00:42:31
【问题描述】:

我希望你能帮我解决这个问题。我有一个包含多个音频播放器的页面,基于这个 jsbin:http://jsbin.com/wofava/edit?html,css,js,output

一切正常,除了按钮播放/暂停所有曲目,而不是暂停一个并播放另一个。

很明显,问题出在这里:

$pp.click(function() {
return AUDIO[AUDIO.paused?'play':'pause']();

现在,我可以为每首曲目分配单独的 ID,但由于会有十几个,我认为必须有更简单的方法来做到这一点......

【问题讨论】:

    标签: javascript jquery html5-audio


    【解决方案1】:

    您可以通过这种方式访问​​对应“播放暂停”div影响的audio元素:

    $pp.click(function() {
        $audio = $('audio', $(this).parent())[0];
        $audio[$audio.paused?'play':'pause']();
    });
    

    基本上,您会在 $(this) 的父级上下文中查找 audio 元素。

    $(this) 指的是被点击的对象(“播放暂停”div)。它的父级是 div 容器 (<div class="player">),它包装了 audio 元素和“playpause”。

    问题是您的“进度”函数也是按类选择元素,因此您需要以相同的方式对其进行调整以使其工作。无论如何,要查看此解决方案,只需将标准控件添加到您的视频:

    <audio controls ...
    

    您将看到其中一个是如何播放/暂停的。

    希望对你有帮助!

    【讨论】:

    • 天哪,现在可以使用了!我添加了$this_progress = $('audio', $(this).parent()); 为您感到难过的进度,并且按钮现在可以单独使用。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    相关资源
    最近更新 更多