所以我有一个使用Google Shaka player进行视频播放的网络应用。它使用MediaSource API来传输音频和视频片段。
我想对音轨的原始PCM数据进行一些音频处理。我看到它以.mp4格式获取音频片段,然后以ArrayBuffer的形式将它们附加到SourceBuffer,然后将其附加到MediaSource并播放。有没有办法劫持这个流程,将数据解码为PCM,进行一些处理,然后将处理后的PCM传回SourceBuffer?我看到有AudioContext.decodeAudioData API用于从.mp4到PCM获取段,但这会返回AudioBufferSourceNode和AudioBuffer,它不能附加到我的常规SourceBuffer。有没有办法解决这个问题?
我想我可以将我的PCM数据重新编码回.mp4,但这似乎是一个巨大的浪费。
答案 0 :(得分:1)
在Chrome 64中,您可以定义自己的AudioWorkletProcessor,并将其用于AudioWorkletNode实例化。
请参阅AudioWorklet Examples,以获取更多参考。