这是一个显示问题的小提琴。基本上,每当调用对象的createMediaElementSource
方法时AudioContext
,音频元素的输出都会重新路由到返回的MediaElementAudioSourceNode
. 这一切都很好,并且符合规范;但是,当我尝试将输出重新连接到扬声器(使用 的destination
)AudioContext
时,什么也没有发生。
我在这里遗漏了一些明显的东西吗?也许它与跨域音频文件有关?我只是在 Google 上找不到有关该主题的任何信息,也没有在specs中看到它的注释。
小提琴的代码是:
var a = new Audio();
a.src = "http://webaudioapi.com/samples/audio-tag/chrono.mp3";
a.controls = true;
a.loop = true;
a.autoplay = true;
document.body.appendChild(a);
var ctx = new AudioContext();
// PROBLEM HERE
var shouldBreak = true;
var src;
if (shouldBreak) {
// this one stops playback
// it should redirect output from audio element to the MediaElementAudioSourceNode
// but src.connect(ctx.destination) does not fix it
src = ctx.createMediaElementSource(a);
src.connect(ctx.destination);
}