手机浏览器音频内核的坑

简介: 在华为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 架构部分写的真是惨不忍睹,多的不说了自己看源码去了,再说要被人拍砖了。

目录
相关文章
|
存储 监控 安全
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
为了提供更好的日志数据服务,360 企业安全浏览器设计了统一运维管理平台,并引入 Apache Doris 替代了 Elasticsearch,实现日志检索与报表分析架构的统一,同时依赖 Doris 优异性能,聚合分析效率呈数量级提升、存储成本下降 60%....为日志数据的可视化和价值发挥提供了坚实的基础。
118713 85
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
|
Web App开发 小程序 前端开发
【产品上新】小程序新内核来了!提升安卓浏览器性能,支持WebRTC
【产品上新】小程序新内核来了!提升安卓浏览器性能,支持WebRTC
487 10
|
Web App开发 前端开发 JavaScript
易优cms内核简洁文章资讯作文范文网站模板源码(带手机版)
易优cms内核简洁文章资讯作文范文网站模板源码(带手机版)
183 10
解除谷歌浏览器默认禁止音频自动播放
解除谷歌浏览器默认禁止音频自动播放
226 1
|
JavaScript
vue + element UI【实战】音乐播放器/语音条(内含音频的加载、控制,事件监听,信息获取,手机网页阴影的去除等技巧)
vue + element UI【实战】音乐播放器/语音条(内含音频的加载、控制,事件监听,信息获取,手机网页阴影的去除等技巧)
764 1
|
Web App开发 编解码
软件开发常见流程之兼容性和手机屏页面设计,PC端和移动端常见浏览器,国内的UC都是根据Webkit修改过来的内核,开发重点关注尺寸,常见移动端尺寸汇总,移动端,理想视口根据你设别的样式进行修改
软件开发常见流程之兼容性和手机屏页面设计,PC端和移动端常见浏览器,国内的UC都是根据Webkit修改过来的内核,开发重点关注尺寸,常见移动端尺寸汇总,移动端,理想视口根据你设别的样式进行修改
网狐荣耀手机端内核源码
网狐荣耀手机端内核源码
864 0
|
前端开发 JavaScript Java
websocket部署后在谷歌内核浏览器异常断开问题
后端springboot前端vue开发的网页,利用websocket实现操作数据库前端网页实时刷新的功能
websocket部署后在谷歌内核浏览器异常断开问题
|
移动开发 JavaScript Android开发
通过howler.js实现在Android下的微信浏览器自动播放音频
通过howler.js实现在Android下的微信浏览器自动播放音频
993 0
通过howler.js实现在Android下的微信浏览器自动播放音频