【发布时间】:2014-01-10 06:08:33
【问题描述】:
我在一个页面上有许多 audio 元素,我想一次只播放一个元素。也就是说,如果一个 audio 元素正在播放并且我在另一个元素上单击播放,则前一个 audio 元素应该暂停。
我从另一个问题中找到了一个 jQuery 代码来执行此操作,但它使用图像作为播放/暂停控件。我正在使用 audio 元素的内置 controls='controls' 属性。就我而言,是否可以使用 jQuery 来控制 audio 元素的播放/暂停功能?
这是我的 HTML 代码
<div>
<p class="song"><h3><strong>#1 Intro - The Oath</strong></h3><p>
<audio class="playback" src=http://geo-samples.beatport.com/lofi/5005876.LOFI.mp3 controls='controls' preload="none">
<I>Your browser does not support the audio element.</I>
</audio>
</div>
<div>
<p class="song"><h3><strong>#2 A State Of Trance Year Mix 2013</strong></h3></p>
<audio class="playback" src=http://geo-samples.beatport.com/lofi/5005933.LOFI.mp3 controls='controls' preload="none">
<I>Your browser does not support the audio element.</I>
</audio>
</div>
这里是 jQuery 代码
$(document).ready(function() {
var curPlaying;
$(function() {
$(".playback").click(function(e) {
e.preventDefault();
var song = $(this).next('audio')[0];
if(song.paused){
song.play();
if(curPlaying) $("audio", "#"+curPlaying)[0].pause();
} else { song.pause(); }
curPlaying = $(this).parent()[0].id;
});
});
});
jQuery 代码似乎不适合我。
【问题讨论】:
-
用户可以随意播放页面上的任何音频元素吗?如果是这样,仅暂停上一个音频将不起作用。
-
是的,用户可以随意播放任何元素。
标签: javascript jquery html audio html5-audio