Web Audio API AudioBufferSourceNode detune

Web Audio API AudioBufferSourceNode detune

本文关键字:detune AudioBufferSourceNode API Audio Web      更新时间:2023-09-26

我创建了一个AudioBufferSourceNode: var source = audioCtx.createBufferSource();。接下来,我通过XHR加载一个来自Soundcloud的音轨。我可以让所有的方法正常工作,可以调整大部分的属性,如loop, buffer, playbackRate.value等。它在文档中说detune.value是另一个可以调整的属性。然而,当我尝试它时,期望它能改变赛道的音高,什么都没有发生。控制台告诉我,source.detune是未定义的,当它应该和对象,如果我没有弄错的话。我能够得到调谐工作完美的振荡器,但不是通过XHR加载的缓冲区。那么,detune属性是否仅限于某些类型的audiobuffersourcenode(或缓冲区)和振荡器,或者是否有另一种方法可以在不调整播放速率的情况下改变音高?

我猜你用的是Chrome稳定版。Detune是相当新的,并没有使它成为稳定的。