2

メッセージが届いたときにトリガーされるサウンド アラートを作成しています。Chrome と Firefox では正常に動作しますが、IE 9 と Safari では動作しません。ここにいくつかのコードがあります:

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でも機能させる方法はありますか?

助けていただければ幸いです。前もって感謝します!

編集 OK私は理由を見つけたようです。ファイル形式の問題です。mp3 を使用すると IE で動作しますが、サファリはオーディオをまったくサポートしていないようです。このスクリプトを使用して確認しました:

<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>
4

0 に答える 0