12

我正在流式传输 arrayBuffer 以转换为 audioBuffer 以便能够收听它。

我正在通过 websocket 事件接​​收流

retrieveAudioStream(){
  this.socket.on('stream', (buffer) => {
    console.log('buffer', buffer)
  })
}

buffer是一个arrayBuffer,我需要它是一个audioBuffer以便能够在我的应用程序上收听它。

我怎样才能做到这一点?

4

2 回答 2

5

你可以使用BaseAudioContext.createBuffer()方法。它用于

创建一个新的空AudioBuffer对象,然后可以用数据填充它,并通过AudioBufferSourceNode

有关更多信息,请参阅 MDN:https ://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/createBuffer

于 2019-06-25T05:45:34.523 回答
1

由于您是流媒体而不是下载文件然后解码音频数据,AudioContext.createMediaStreamSource()因此将更适合您的用例。

在这里阅读更多https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createMediaStreamSource

于 2019-06-29T21:31:48.097 回答