我用它来创建音频上下文:
window.AudioContext = window.AudioContext || window.webkitAudioContext;
myAudioContext = new AudioContext();
在产生任何声音之前大约需要2-3秒。是否有回调来判断音频上下文是否准备就绪?
修改详情:
这是在Google Chromecast设备上。我相信它有一个版本的Chrome浏览器。我测试了其他浏览器(桌面Chrome,Mac Safari)。它没有延迟。
我有一个名为webaudioclass.js的类文件,其中包含此文件。
var time1 = 200;
var delay = 2;
var gainZero = 0.0;
function webaudioclass() {
console.log('webaudioclasss init');
window.AudioContext = window.AudioContext || window.webkitAudioContext;
myAudioContext = new AudioContext();
}
function webaudioclassPlaySoundC() {
var mySource = myAudioContext.createOscillator();
var myGain = myAudioContext.createGainNode();
mySource.frequency.value = 261.625549;
mySource.connect(myGain);
myGain.gain.value = gainOne;
myGain.connect(myAudioContext.destination);
mySource.start(0);
setTimeout(function(s) {
myGain.gain.value = gainZero;
s.stop(delay + myAudioContext.currentTime);
}, time1, mySource);
}
webaudioclass.prototype.playSoundC = webaudioclassPlaySoundC;