メッセージが届いたときにトリガーされるサウンド アラートを作成しています。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>