HTML5 音频未在 Android 4.0.4 设备本机浏览器中多次播放
Posted
技术标签:
【中文标题】HTML5 音频未在 Android 4.0.4 设备本机浏览器中多次播放【英文标题】:HTML5 audio not playing multiple times in Android 4.0.4 device Native Browser 【发布时间】:2012-11-22 21:28:56 【问题描述】:我目前正在从事一个 HTML5 项目。
在 Android 原生浏览器的同一页面中多次播放同一音频文件存在问题。该问题在 Android ICS 4.0.4 版本上特别注意。在此版本中,音频将播放一次,但当再次启动时,音频将不会播放。同样的事情是在 Android ICS 4.0.3 版本和较新的 4.1.1 版本中完美运行。
经过测试的设备:Samsung Galaxy Tab (Android 4.0.4):第一次播放时才无法播放HTC One (Android 4.0.4) :第一次播放,然后不播放Sony Tab (Android 4.0.3):非常好,可以多次播放音频HTC Sensation ( Android 4.0.3):非常好,可以多次播放音频Samsung Nexus Phone (Android 4.1.1):非常好,可以多次播放音频
根据对 Internet 的一些研究,这似乎是 Android 4.0.4 版的问题
请帮助我找到一些解决方案,使其适用于所有设备。
Please use this W3 Schools html5 audio link for try outs
【问题讨论】:
我的项目中遇到了同样的问题。 我也遇到了类似的问题,希望社区能提供帮助。 @Shurane 我添加了 w3schools HTML5 音频试用链接。我希望检查我提到的问题会有所帮助。 @eric.itzhak 我尝试了链接。但它也无法重播。 @eric.itzhak 并且 ICS 中的当前 chrome 已停止支持 Flash。 【参考方案1】:我有一个可行的解决方案..
问题是在 android 4.0.4 浏览器中,当音频播放一次(结束)后,搜索时间不会重置到开始位置,它会一直停留在结束位置。 因此,通过在音频 ended 之后设置 currentTime = 0 会将其重置为起始位置,这样我们就可以在没有任何页面的情况下多次播放相同的音频刷新。 经过测试,在所有设备上都能完美运行。
HTML 代码:
<audio id="movie_audio">
<source src="my_audio_location/movie_audio.mp3" type='audio/mpeg; codecs="mp3"' />
<source src="my_audio_location/movie_audio.ogg" type='audio/ogg; codecs="vorbis"' />
</audio>
JavaScript 代码:
var movie_audio = document.getElementById('movie_audio');
movie_audio.addEventListener('ended', function()
movie_audio.currentTime = 0;
【讨论】:
【参考方案2】:这对我有用:
var movie_audio = document.getElementById('movie_audio');
movie_audio.addEventListener('ended', function()
movie_audio.load();
);
【讨论】:
【参考方案3】:如果上述解决方案不适合您,请尝试此解决方案。
audio_element.addEventListener('timeupdate', function()
if (audio_element.currentTime >= ( audio_element.duration - 0.3 ) )
audio_element.currentTime = 0;
audio_element.pause();
, false);
注意:我们将搜索栏设置在音频结束之前的起始位置。
【讨论】:
以上是关于HTML5 音频未在 Android 4.0.4 设备本机浏览器中多次播放的主要内容,如果未能解决你的问题,请参考以下文章
HTML5 音频播放器未在 ios Safari 中自动播放
HTML5 视频未在 android webview 中播放