我通過編程方式填充AudioBuffer
來創建1s音頻片段。 AudioBufferSourceNode
啓用了循環。它在Chrome和Firefox中播放得很好。Firefox Web Audio API動態更新AudioBuffer/AudioBufferSourceNode
現在我想動態更新AudioBuffer,並立即(或在下一個循環)拾取新的音頻。在Chrome中,只需獲取通道數據(getChannelData(0)
)並寫入即可。 Chrome會即時更新播放音頻。 Firefox會一直播放原始緩衝區。事實上,在將Firefox分配給AudioBufferSourceNode
(source.buffer = buffer
)之前,需要寫入AudioBuffer
。
這看起來像Web Audio規範中的未指定行爲。也許可以在https://github.com/WebAudio/web-audio-api/issues上指出實施差異,並希望每個瀏覽器最終都做同樣的事情? – Touffy
謝謝,我不知道規範是在GitHub上。我會介入。我通常喜歡參與新的規格,但當我感覺像90年代時,我並不感興趣。 – Prinzhorn