为 IE 8 加载附加音频

Loading additional audio for IE 8

我无法让 IE 8 使用 Media Element 一致地播放音频文件。 IE 8 将播放第一个音频文件,但不会播放下一个。它在所有其他浏览器中工作正常。

  function playAudio(audioId) {

        var player = new MediaElementPlayer('#' + audioId + '', {
            autoplay: true,
            pauseOtherPlayers: true,
            success: function (mediaElement, domObject) {

                mediaElement.addEventListener('ended', function (e) {
                    //stuff 
                }, false);
            }
        }
        );
        player.load();//is this necessary?
        player.play();

    }
    <p onclick="playAudio('Audio01')">Play 1</p>
    <p onclick="playAudio('Audio02')">Play 2</p>
    <p onclick="playAudio('Audio03')">Play 3</p>

    <div style="display:hidden;">
    <audio id="Audio01">
        <source src="a01.mp3" type="audio/mpeg" />
    </audio>

    <audio id="Audio02">
        <source src="a02.mp3" type="audio/mpeg" />
    </audio>

    <audio id="Audio03">
        <source src="a03.mp3" type="audio/mpeg" />
    </audio>
  </div>

IE 8 无法始终如一地播放额外的音频剪辑。没有抛出任何错误。我还需要做些什么才能让 IE 像其他所有东西一样工作吗?

所以,IE 8 似乎不支持

 trigger('pause')

此外,player.play()

也有问题

如果对其他人有帮助,这就是我最终的结果:

    function playAudio(audioId) {

        new MediaElement(audioId, {

            pauseOtherPlayers: true,
            success: function (mediaElement, domObject) {

                // call the play method
                mediaElement.play();

            }
        });
    }

然后我管理了一个局部变量来切换是否正在播放,这样 IE 8 就不会与音频文件重叠。