【发布时间】:2015-07-31 13:28:48
【问题描述】:
我有一个像这样工作的 html5 播放器:
HTML:
<div class="player row" data-dwplayer="true" data-mp3="example.mp3" data-loop="true">
Javascript:
$("[data-dwplayer=true]").each(function(){
var player = $(this);
var audio = new Audio();
/* data */
var source = player.data('mp3') ? player.data('mp3') : player.data('ogg');
var auto = player.data('autoplay') ? true : false;
var loop = player.data('loop') ? true : false;
/* set source */
audio.src = source;
and the rest of code ...
意思是所有音频播放器都是用javascript制作的,页面上没有实际的<audio>标签,我想做的是,我需要编写一个函数,当有人点击音频播放器的播放按钮时,所有其他音频播放器都应该暂停,我已经尝试过这段代码,但它不起作用我认为这是因为没有实际的<audio> 标签
/* stop other audio players */
$("audio").not(audio).each(function() {
if( this.readyState != 0 ) {
this.pause();
this.currentTime = 0;
}
});
/* play current audio player */
if( audio.paused && audio.readyState != 0 )
audio.play();
我该怎么办
【问题讨论】:
-
你是对的,
$("audio")不应该做任何事情,因为文档中没有实际的audio标记(除非你将它附加到“和其余代码......”部分第一个代码sn-p)。您如何跟踪不同的音频?你从哪里得到最后一个代码 sn-p 中的audio变量? -
从上面的代码中:
var audio = new Audio();,我的意思是每件事都发生在$("[data-dwplayer=true]").each(function(){.. -
你能创建一个你目前所拥有的 jsfiddle 吗?我想看看什么是/不工作。谢谢。
-
jsfiddle.net/mec12jz7/14 你去,点击那些小小的白色播放按钮
标签: javascript jquery audio html5-audio