手机浏览器音频内核的坑

简介: 在华为4.4的设备上,发现H5做的一款小游戏不能播放声音,用cocos2d-js的可以正常播放。手机的UA标识: Mozilla/5.0(Linux;U;Android 4.3; zh-cn;HUAWEI B199 Build/HuaweiB199) AppleWebKit/534.

在华为4.4的设备上,发现H5做的一款小游戏不能播放声音,用cocos2d-js的可以正常播放。手机的UA标识:

Mozilla/5.0(Linux;U;Android 4.3; zh-cn;HUAWEI B199 Build/HuaweiB199)
AppleWebKit/534.30(KHTML,link Gecko)
Version/4.0 Mobile Safari/534.30;360 Aphone Browser(6.9.0)

 

报的错是SynataxError : Invalid DestinationNode

通过ajax加载mp3文件后,调用createBufferSource方法得到audio source对象,再调用connect时就报错了。

然后我测试的时候发现audio obj并没有createGaub方法,将它注释掉之后调用start方法报该方法不存在。这时候我搜索到这篇文章,替换一下就OK了

http://stackoverflow.com/questions/19083202/is-web-audio-api-source-start0-supported-on-safari-it-works-just-fine-on-chro

使用noteOn代替start方法(新的API采用start方法,老版本createGain方法也是不支持的),另外一种方法是引入一个补丁js文件来解决

https://github.com/cwilso/webkitAudioContext-MonkeyPatch

 

webaudio的示例教程:http://www.html5rocks.com/en/tutorials/webaudio/intro/?redirect_from_locale=zh

 

额外吐槽一下,cocos2d-js 架构部分写的真是惨不忍睹,多的不说了自己看源码去了,再说要被人拍砖了。

目录
相关文章
|
移动开发 JavaScript Android开发
通过howler.js实现在Android下的微信浏览器自动播放音频
通过howler.js实现在Android下的微信浏览器自动播放音频
403 0
通过howler.js实现在Android下的微信浏览器自动播放音频
|
Android开发
当中兴安卓手机遇上农行音频通用K宝 -- 卡在“正在通讯”,一直加载中
当中兴安卓手机遇上农行音频通用K宝 今天去新版一张农行卡,开通手机银行用到音频通用K宝,弄了一上午银行工作人员也不懂要怎么弄才能用,因为在下载证书时老是加载的界面,显示正在通讯。
1394 0
|
Web App开发 前端开发 测试技术
前端常见兼容性问题系列7: 部分浏览器不支持音频自动播放
iOS 4.2.1之后的Safari中, 如果没有得到用户的手动允许,即便对audio标签设置了autoplay="autoplay"属性,也不会自动播放音频的,安卓5.0及以上的机器也存在同样问题。去掉audio的autoplay属性,手动点击按钮播放是经过考量后最合适的方法。
4714 0
|
6月前
|
Web App开发 前端开发 JavaScript
|
1月前
|
存储 机器人
在阿里云RPA中,你可以通过以下步骤来更改默认唤醒IE浏览器的地址
【2月更文挑战第28天】在阿里云RPA中,你可以通过以下步骤来更改默认唤醒IE浏览器的地址
20 1
|
7月前
|
Web App开发 XML 编解码
IE浏览器下载文件中文文件名乱码问题解决
IE浏览器下载文件中文文件名乱码问题解决
85 0
|
4月前
|
Web App开发 JavaScript 前端开发
JavaScript在IE和标准浏览器下的兼容性处理
JavaScript在IE和标准浏览器下的兼容性处理
41 0
|
5月前
|
Web App开发 移动开发 安全
IE浏览器,和Edge浏览器
IE浏览器,和Edge浏览器
|
5月前
|
JavaScript
兼容IE浏览器
兼容IE浏览器
31 0
|
6月前
|
Windows
window10 自带浏览器ie11无法启动 问题解决
这几天有一个新项目,然后再做准备工作的时候需要用到IE浏览器,然后我电脑是win10的,发现打不开IE浏览器,怎么点都没有用,后来我找找了相关资料,大家可以参考一下,毕竟出现的问题不同
171 0

热门文章

最新文章