Я использую API WebAudio с объектом new Audio()
в качестве источника. Ниже приводится упрощенная версия того, что я делаю. Однако это не воспроизводит никаких звуков в firefox 25.0.1.
var context;
if(window.webkitAudioContext) {
context = new webkitAudioContext();
} else {
context = new AudioContext();
}
var audio = new Audio();
// This file does seem to have CORS Header
audio.src = "http://upload.wikimedia.org/wikipedia/en/4/45/ACDC_-_Back_In_Black-sample.ogg";
var source;
function onCanPlay() {
console.log("can play called");
source = context.createMediaElementSource(audio);
source.connect(context.destination);
audio.removeEventListener("canplay", onCanPlay);
audio.play();
}
if(audio.readyState < 3) {
audio.addEventListener("canplay", onCanPlay);
} else {
onCanPlay();
}
jsFiddle: http://jsfiddle.net/7bJUU/
Я прочитал еще один вопрос, который требует createMediaElementSource
CORS. В файле в приведенном выше примере, похоже, есть Access-Control-Allow-Origin: *
, но он по-прежнему не работает в firefox. Если я запустил тот же пример локально с локальным аудиофайлом, все будет работать нормально.
Не уверен, что это ошибка или я делаю что-то ужасно неправильно. Любая помощь приветствуется.
Audio()
и использоватьBufferSourceNode
. Но это довольно просто. - person Kevin Ennis   schedule 07.01.2014