jQuery IE,如何停止<embed>元素

use*_*177 5 html jquery

我目前正在尝试在我的网站上播放不同的wav文件.我目前正在使用HTML5 <audio>元素,但我也试图获得一些向后兼容性,因为IE不会通过音频标签播放wavs.

我创建了一个javascript函数来创建适当的声音<embed>对象:

function createPreHtml5EmbedItem(callID, parent) {
            $("#sound").remove();
            var sound = $("<embed id='sound' controls='console' type='audio/wav' />");
            sound.attr('src', '/recording?id=' + callID);
            sound.attr('loop', false);
            sound.attr('hidden', false);
            sound.attr('autostart', true);
            parent.append(sound);
}
Run Code Online (Sandbox Code Playgroud)

这一切都很好,但当我点击一个不同的按钮时,我想停止播放这个音频元素.在Firefox中,我可以这样做:

function stopAudioPreHtml5() {
    $("#sound").remove();
}
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,这在IE中不起作用.<embed>在删除之前有没有办法停止当前播放的元素?

xda*_*azz 5

对于IE,您可以使用.stop()方法来阻止它.

DEMO.

function stopAudioPreHtml5() {
    var sound = $("#sound");
    if ($.browser.msie) {
       sound[0].stop();
    }
    sound.remove();
}
Run Code Online (Sandbox Code Playgroud)