Вот скрипка, чтобы показать проблему. Обычно, когда используется метод createMediaElementSource
объекта AudioContext
вызывается, вывод аудиоэлемента перенаправляется в возвращаемый MediaElementAudioSourceNode
. Это все нормально и согласно спецификации; однако, когда я затем пытаюсь повторно подключить выход к динамикам (используя destination
из AudioContext
) ничего не происходит.
Я упустил здесь что-то очевидное? Может, дело в междоменных аудиофайлах? Я просто не мог найти никакой информации по этой теме в Google и не видел ее примечания в спецификации.
Код из скрипки:
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);
}