これは、Kindle Fire ブラウザのバグのようです。最初のソース ファイルを再生できる場合、2 番目のソース ファイルは無視する必要があります。
ソース要素の順序を変更する価値があるかもしれません (つまり、MP3 を最初に置きます)。それが違いを生むとは思えませんが、念のため-ブラウザの奇妙な癖かもしれません.
もう 1 つの可能性は、ブラウザの自動再生実装のバグです。autoplay
属性を削除しようとしましたか? それが問題である場合は、play()
代わりにページの読み込み時に JavaScript のメソッドを使用してみてください。
より信頼性の高いソリューションは、JavaScript を使用してコーデック サポートを検出することです。このようなものが動作するはずです:
HTML:
<audio id="myAudio">
Your browser does not support the audio element.
</audio>
JavaScript:
function getAudioType(element) {
if (element.canPlayType) {
// CanPlayType returns maybe, probably, or an empty string.
if (element.canPlayType('audio/ogg; codecs="vorbis"') !== '') {
return('ogg');
} else if (element.canPlayType('audio/mpeg;') !== '') {
return('mp3');
}
}
return false;
}
var audio = document.getElementById('myAudio');
var audiotype = getAudioType(audio);
if (!audiotype) {
// Some fallback or not-supported message here
} else {
audio.src = '../../audio/andromeda_oars.' + audiotype;
audio.play();
}
更新:
これの実際の例