如何在更改时停止/暂停jQuery音频?
$("#alarm").bind("change", function(event)
{
var audio = $(this).find(':selected').attr('data-audio');
var obj = document.createElement("audio");
obj.src="assets/audio/"+audio;
obj.volume=0.1;
obj.autoPlay=false;
obj.preLoad=true;
obj.play();
});
我尝试在obj.pause();
之前添加obj.play();
,但它仍会播放音乐。因此,如果我换到另一个组合框,音频将播放多个。
我想要的是在更改时停止/暂停音频。
HTML
<select name="alarm" id="alarm">
<?php
$qAlarm = mysqli_query($con, "SELECT * FROM tb_alarm WHERE active = 'Y'");
while($dAlarm = mysqli_fetch_array($qAlarm))
{
if($dAlarm['alarm_id'] == $getAlarmID)
{
?>
<option value="<?php echo $dAlarm['alarm_id']; ?>" selected data-audio=<?php echo $dAlarm['alarm_file']; ?>><?php echo $dAlarm['alarm_name']; ?></option>
<?php
}
else
{
?>
<option value="<?php echo $dAlarm['alarm_id']; ?>" data-audio=<?php echo $dAlarm['alarm_file']; ?>><?php echo $dAlarm['alarm_name']; ?></option>
<?php
}
}
?>
</select>
答案 0 :(得分:0)
暂停音乐并没有意义,在下一行开始播放音乐,是吗?如果您想在更改时暂停音乐,请不要在onChange功能中输入用于启动音乐的代码。 尝试在其他地方启动音乐,也许当文档完成加载时,在更改功能中只运行暂停:
var audio = $('#audioelement');
obj.pause();
确保在创建音频对象时为其提供id:
obj.id = "audioelement";