javascript - HTML5 音频未在 Android 2.3.6 上运行

标签 javascript android html audio android-2.3-gingerbread

我开发了一个使用 html5 音频完美运行的 Android 音频应用程序。然而,在某些手机上,音频根本不会播放。

我正在使用简单的 HTML5 功能。

尝试了各种方法,例如多个 play() 命令、pause() & play、load() 等,但没有任何 react 。

我已经使用了一天运行 Android 2.3.6 的这样的手机,但我无法让它工作。任何帮助将不胜感激。

最佳答案

我找到了解决方案。这对我有用:

sPlay = document.getElementById("audioplayer");
sPlay.src = '';
sPlay.src = "myAudio.mp3";
sPlay.load();
sPlay.addEventListener("load", function() { 
  sPlay.play(); 
}, true);       

我也变了
<source src="none" type="audio/mpeg">


<source src="none" type="audio/mp3">

我的猜测是运行旧 Android 版本的设备速度很慢。当 play() 命令以正常方式发出时,系统仍在处理 load() 命令。由于音频仍未加载,因此无法播放。在使用 addEventListener 进行“加载”后,它开始完美运行,就好像问题一开始就不存在一样:-)

希望这对其他人有帮助。

谢谢!

==== 更新 ========

我已将事件监听器进一步修改为“canplay”,因为“load”似乎仅在旧设备上工作:
sPlay.addEventListener("canplay", function() { 

关于javascript - HTML5 音频未在 Android 2.3.6 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21673233/

相关文章:

javascript - jQuery 用条件包装一些字符串

javascript - 如何在javascript中添加 'delete all button'

javascript - Angular + Sharepoint Rest 不起作用

php - 从 Android 应用程序向 PHP 发送帖子

javascript - 小标签不适用于输入标签

javascript - 覆盖原型(prototype)函数并正确继承其构造函数的最简洁方法是什么

java - Google map V2 Android 的 API key 显示为空白

java - 奇怪的应用程序无法在不同的手机上运行

html - 不在 &lt;style&gt; 标记中声明 "type"属性是否会产生性能成本?

javascript - CSS 高度 100% 无效