Подключение MediaElementAudioSourceNode к AudioContext.destination не работает

Вот скрипка, чтобы показать проблему. Обычно, когда используется метод 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);
}

person Birjolaxew    schedule 26.04.2015    source источник


Ответы (1)


Да, API веб-аудио требует, чтобы звук соответствовал Политика одинакового происхождения. Если звук, который вы пытаетесь воспроизвести, не из того же источника, тогда требуются соответствующие заголовки Access-Control. Ресурс в вашем примере не имеет необходимых заголовков.

person idbehold    schedule 26.04.2015