0
我知道可以更改音頻標籤(或音頻js對象)的播放速率,但我想知道是否可以更改播放速率,然後獲取AudioBuffer,或者手動執行數組本身改變? (我知道音頻對象做了一些魔術,所以它不會改變音調或聲音扭曲 - 怎麼樣!)AudioBuffer/AudioBufferSourceNode播放速度? (Web Audio)
我知道可以更改音頻標籤(或音頻js對象)的播放速率,但我想知道是否可以更改播放速率,然後獲取AudioBuffer,或者手動執行數組本身改變? (我知道音頻對象做了一些魔術,所以它不會改變音調或聲音扭曲 - 怎麼樣!)AudioBuffer/AudioBufferSourceNode播放速度? (Web Audio)
如果通過「獲取AudioBuffer」,您的意思是您想要以不同的播放速率播放AudioBuffer的結果,那麼你可以,但不能直接。
單程:創建一個OfflineAudioContext,創建適當的AudioBufferSource和AudioBuffer。將源連接到脫機環境並以所需的播放速率播放源。離線上下文將以所需的速率播放原始音頻源的音頻緩衝區。
請注意,AudioBufferSource的playbackRate屬性不保留音高。如果你想保持球場,你必須做點別的。
我必須加快緩衝區的某些部分 - 所以我必須手動處理信號嗎?你能指出我的正確方向嗎? – javatripping
如果您知道緩衝區的哪些部分,只需使用這些部分創建一個新緩衝區,將它們附加到新的AudioBufferSource和脫機環境,並僅處理該部分。如果您希望能夠將結果無縫地連接在一起,這可能效果非常好。 –
我實際上需要以一定的速度增加播放速率,所以這可能不適合我需要的功能 - 我需要增加每1/8秒的速率 – javatripping