为IE 8加载其他音频

时间:2016-03-04 14:49:22

标签: mediaelement.js

我无法使用Media Element让IE 8始终如一地播放音频文件。 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与其他一切一样工作吗?

1 个答案:

答案 0 :(得分:0)

所以,似乎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不会重叠音频文件。