前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手机浏览器音频内核的坑

手机浏览器音频内核的坑

作者头像
meteoric
发布2018-11-20 11:09:15
1.2K0
发布2018-11-20 11:09:15
举报
文章被收录于专栏:游戏杂谈游戏杂谈

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-02-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档