//标签
<audio id="music" src="源" controls="controls">
//js
var el = document.getElementById('music');
var audioCtx = new AudioContext();
var source = audioCtx.createMediaElementSource(el);
source.connect(audioCtx.destination);
(只写标签能正常获取)
如果源是本地的没有问题,如果源是其他网站链接,chrome会没声音,firefox会不加载。
chrome中会有提示:MediaElementAudioSource outputs zeroes due to CORS access restrictions for “源”
求大神帮忙解决
一句话:在audio标签有src链接的同时设置上属性rossOrigin="anonymous";
在html不要直接写地址,让浏览器一开始加载就就直接跨域了,所以如果写了得设置audio标签这个属性(crossOrigin='anonymous';)
或者 是html的src先不设置,在javascript里边设置再建立
var audio =document.getElementById("audio");
audio.crossOrigin = 'anonymous';
audio.src='https://fourthof5assets.s3-eu-west-1.amazonaws.com/heng-feeling-good.mp3';
var source = context1.createMediaElementSource(audio);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。