Javascript创建音频元素跨浏览器问题

时间:2012-05-10 13:34:13

标签: javascript audio cross-browser

我正在创建在收到消息时触发的声音警报。它们在Chrome和Firefox中运行良好,但在IE 9&苹果浏览器。这是一些代码:

var audioElement = document.createElement('audio');
audioElement.setAttribute('src', '/sounds/blip.wav');
audioElement.setAttribute('preload', 'auto');
audioElement.load()

    function bipTrades() {
  var tradeCheck = document.getElementById('tradeSound');
  if (tradeCheck.checked == true) {
        audioElement.play();
  }
  else {
    console.log("silent alert")
  }
};

所以当消息进入时,触发函数bipTrades。

任何想法如何在IE& Safari也呢?

非常感谢帮助。提前谢谢!

修改 好吧我似乎找到了原因。这是一个文件格式问题。使用mp3它在IE中工作,但safari似乎根本不支持任何音频。我用这个脚本来检查:

<script type/javascript>
        function checkAudioCompat() {
            var myAudio = document.createElement('audio');

            if (myAudio.canPlayType) {
                // CanPlayType returns maybe, probably, or an empty string.

                if ( "" != myAudio.canPlayType('audio/mpeg')) {
                    alert("mp3 supported");
                }

                if ( "" != myAudio.canPlayType('audio/ogg; codecs="vorbis"')) {
                    alert("ogg supported");
                }

                if ( "" != myAudio.canPlayType('audio/mp4; codecs="mp4a.40.5"')) {
                    alert("aac supported");
                }
            }
            else {
                alert("no audio support");
            }
        }
    </script>

<button onclick="checkAudioCompat();">
    Test for audio format type
</button>

0 个答案:

没有答案