gpt4 book ai didi

html - Kindle Fire HD使用HTML5音频标签同时播放Ogg和MP3

转载 作者:行者123 更新时间:2023-12-02 23:57:04 27 4
gpt4 key购买 nike

使用新的HTML音频标签:

<audio autoplay="autoplay">
<source src="../../audio/andromeda_oars.ogg" type="audio/ogg" />
<source src="../../audio/andromeda_oars.mp3" type="audio/mpeg" />
Your browser does not support the audio element.
</audio>

在我尝试过的所有浏览器(IE v10,Chrome v23,Opera v12和Firefox v17)中,此功能都可以正常工作。但是,当我在Kindle Fire HD中查看相同的页面时,两个音频文件(ogg和mp3)都会播放-一个接一个地播放(这让我发疯了)。这不应该发生。有人有任何答案和/或建议吗?谢谢!节日快乐....

最佳答案

这听起来像是Kindle Fire浏览器中的错误。如果可以播放第一个源文件,则应忽略第二个源文件。

可能需要更改源元素的顺序(即,首先放置MP3)。我怀疑这会有所作为,但以防万一-可能是一些奇怪的浏览器怪癖。

另一种可能是浏览器的自动播放实现存在错误。您是否尝试过删除autoplay属性?如果这是问题所在,那么您可以尝试在页面加载时使用JavaScript的play()方法。

一个更可靠的解决方案是使用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();
}

更新:
Example of this in action

关于html - Kindle Fire HD使用HTML5音频标签同时播放Ogg和MP3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14032811/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com