将PCM数据附加到MediaSource

时间:2016-07-28 20:53:18

标签: javascript audio web-audio media-source web-audio-api

所以我有一个使用Google Shaka player进行视频播放的网络应用。它使用MediaSource API来传输音频和视频片段。

我想对音轨的原始PCM数据进行一些音频处理。我看到它以.mp4格式获取音频片段,然后以ArrayBuffer的形式将它们附加到SourceBuffer,然后将其附加到MediaSource并播放。有没有办法劫持这个流程,将数据解码为PCM,进行一些处理,然后将处理后的PCM传回SourceBuffer?我看到有AudioContext.decodeAudioData API用于从.mp4到PCM获取段,但这会返回AudioBufferSourceNode和AudioBuffer,它不能附加到我的常规SourceBuffer。有没有办法解决这个问题?

我想我可以将我的PCM数据重新编码回.mp4,但这似乎是一个巨大的浪费。

1 个答案:

答案 0 :(得分:1)

在Chrome 64中,您可以定义自己的AudioWorkletProcessor,并将其用于AudioWorkletNode实例化。

请参阅AudioWorklet Examples,以获取更多参考。