当前位置:首页 »“秋了秋”个人博客 » 前端编程 » 解决Audio api “createMediaElementSource(player)”取不到声源

解决Audio api “createMediaElementSource(player)”取不到声源

作者:秋了秋 发表时间:2016年03月17日

曾几何时,我发布了一篇文章《Javascript操作音频流数据的重大问题 》,探究了一下html5与w3c的bug,获取音频数据的时候出现:“MediaElementAudioSource outputs zeroes due to CORS access restrictions”的警告信息。那时候找了很久的修复手段,一直未果,因为少有人探讨,有探讨的却没有真正解决问题的办法。所以这个问题一直耽搁到现在,是我一直的心腹。

今天得闲重新审视这个问题,其实这就是一个跨域的问题,a网站访问b网站的音频,出于安全考虑,w3c禁止了这样的行为,所以我们用createMediaElementSource(player)取到的数据一直为0,导致音乐能播放,但是没有声音,也不能对音源数据操作。

其实解决办法很简单,只需要在audio标签上加上这个属性即可完美解决问题:

<audio id="qiuyemp3" crossOrigin="anonymous" src="http://media.netblog.site/cz.mp3" autoplay="autoplay"></audio>

这个属性加在html上即可,用js加属性会失效。

呵呵呵,找了这么久的问题,其实也就这么简单就解决了。

18
文章作者: “秋了秋”个人博客,本站鼓励原创。
转载请注明本文地址:http://netblog.cn/blog/440.html
目录: 前端编程标签: audio bug 14411次阅读

请求播放音乐,请点击播放

登 录
点击获取验证码
还没账号?点击这里