这听起来像是 Kindle Fire 浏览器中的一个错误。如果可以播放第一个源文件,则应忽略第二个源文件。
可能值得改变源元素的顺序(即把 MP3 放在第一位)。我怀疑它会有所作为,但以防万一 - 可能是一些奇怪的浏览器怪癖。
另一种可能性是浏览器的自动播放实现存在错误。您是否尝试过删除该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();
}
更新:
这个例子