更改时jQuery音频停止/暂停

时间:2017-11-03 07:26:55

标签: jquery audio

如何在更改时停止/暂停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>

1 个答案:

答案 0 :(得分:0)

暂停音乐并没有意义,在下一行开始播放音乐,是吗?如果您想在更改时暂停音乐,请不要在onChange功能中输入用于启动音乐的代码。 尝试在其他地方启动音乐,也许当文档完成加载时,在更改功能中只运行暂停:

var audio = $('#audioelement');
obj.pause();

确保在创建音频对象时为其提供id:

obj.id = "audioelement";