AudioBuffer / AudioBufferSourceNode播放率? (网络音频)

时间:2015-08-30 16:00:14

标签: javascript audio web-audio

我知道可以更改音频标签(或音频js对象)的播放速率,但我想知道是否可以更改播放速率然后获取AudioBuffer,或者手动对其进行更改阵列本身? (我知道音频对象有一些魔力,所以它不会改变音高或声音失真 - 怎么样?!)

1 个答案:

答案 0 :(得分:0)

如果通过“获取AudioBuffer”意味着您希望以不同的播放速率播放AudioBuffer,那么您可以,但不能直接播放。

一种方法:创建一个OfflineAudioContext,创建相应的AudioBufferSource和AudioBuffer。将源连接到离线上下文并以所需的播放速率播放源。离线上下文将使原始源的音频缓冲区以所需的速率播放。

请注意,AudioBufferSource的playbackRate属性不保留音高。如果你想保留音高,你必须做其他的事情。