10
我正在試驗Web Audio API以控制多通道設置中交互式音樂的播放。到目前爲止,我已經設法將多達8個振盪器的聲音指向我的12聲道聲卡上的8個不同聲道,但只要嘗試使用8個以上的聲道,突然間所有聲道都會變得靜音。經過大量研究後,我也注意到audioContext.currentTime
卡在零值附近。使用Web Audio API可以輸出多於8個頻道嗎?
這是我MAC OSX的結果10.8.5 谷歌瀏覽器版本39.0.2171.27 beta(64位) 和版本40.0.2192.0 canary(64位)。
Safari瀏覽器不允許我解決超過2個通道 火狐發現我的12個通道與audioContext.destination.maxChannelCount
但繼續路由我的聲音通道1 & 2不管我嘗試振盪器與gain.connect(channelMerger, 0, i)
連接到一個較大的數字。
有沒有人遇到類似的東西?有解決方法嗎?
下面是代碼:
var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioContext = new AudioContext();
var maxChannelCount = audioContext.destination.maxChannelCount;
// if set to max 8 it works fine in Chrome, but this line
// breaks the audio if the sound card has got more than 8 channels
audioContext.destination.channelCount = maxChannelCount;
audioContext.destination.channelCountMode = "explicit";
audioContext.destination.channelInterpretation = "discrete";
var channelMerger = audioContext.createChannelMerger(maxChannelCount);
channelMerger.channelCount = 1;
channelMerger.channelCountMode = "explicit";
channelMerger.channelInterpretation = "discrete";
channelMerger.connect(audioContext.destination);
for(var i = 0; i < maxChannelCount; i++){
var oscillator = audioContext.createOscillator();
oscillator.connect(channelMerger, 0, i);
oscillator.start(0);
}
[在網絡上錄製音頻,預設:16000Hz 16位]的可能重複(http://stackoverflow.com/questions/28969304/record-audio-on-web-preset-16000hz-16bit) – 2015-09-18 20:51:34