jQuery - 切换播放/暂停按钮(多个音频)

Posted

技术标签:

【中文标题】jQuery - 切换播放/暂停按钮(多个音频)【英文标题】:jQuery - Toggle play/pause button (Multiple audios) 【发布时间】:2015-07-15 12:32:57 【问题描述】:

我想显示不同的标题,每个标题都必须播放自己的声音(带有播放/暂停开关)。

这些按钮中的每一个都必须通过使用<audio></audio> 标签获得自己独特的声音。

我还不是 jQuery 的英雄(还),但我已经开始了。但从现在开始,我不知道该怎么办了。

有人可以帮我解决这个问题吗?

我制作了一个 jsfiddle 来向你展示我已经拥有的东西。

http://jsfiddle.net/carloc/7341jxv6/

非常感谢!

【问题讨论】:

如果你也在这里包含那个小提琴代码会很好。 【参考方案1】:

你只是改变了类,你实际上需要为元素调用 play 和 pause 。参考 jsfiddle

html

<h2>Sound 1</h2>
<div class="play" id="btn1">play</div>

<h2>Sound 2</h2>
<div class="play" id="btn2">play</div>

<h2>Sound 3</h2>
<div class="play" id="btn3">play</div>


<!-- SOUNDS -->
<audio id="sound1">
    <source src="http://www.bigsoundbank.com/sounds/ogg/0595.ogg" type="audio/ogg" />
</audio>

<audio id="sound2">
    <source src="http://www.bigsoundbank.com/sounds/ogg/0580.ogg" type="audio/ogg" />
</audio>

<audio id="sound3">
    <source src="http://www.bigsoundbank.com/sounds/ogg/0003.ogg" type="audio/ogg" />
</audio>

脚本 -

$('.play').click(function()
    var $this = $(this);
    var id = $this.attr('id').replace(/btn/, '');
    $this.toggleClass('active');
    if($this.hasClass('active'))
        $this.text('pause'); 
        $('audio[id^="sound"]')[id-1].play();        
     else 
        $this.text('play');
        $('audio[id^="sound"]')[id-1].pause();
    
);

这里 ^= 是选择器的开头,它选择所有音频并使用按钮的 id,我们实际上播放或暂停确切点击的音频。

【讨论】:

【参考方案2】:

这应该是你期望的功能:)

使用.trigger('play') and .trigger('pause')

JS FIDDLE

【讨论】:

【参考方案3】:

我想这就是你想要的。

您可以像这样使用 JQuery 来启动和暂停:

$('#sound1').trigger('play');

$('#sound1').trigger('pause');

【讨论】:

以上是关于jQuery - 切换播放/暂停按钮(多个音频)的主要内容,如果未能解决你的问题,请参考以下文章

在 HTML 音频播放器中切换播放/暂停按钮

不同按钮上的音频播放/暂停单击Jquery

如何一键切换音频播放/暂停

播放和暂停按钮正在工作...但是如何重置按钮以在音频结束后显示播放符号?

在 jQuery 中“转换”具有多个音轨的音频播放器

使用 Jquery 的多实例音频播放/暂停