OfflineAudioContext.startRendering()
如何输出包含我选择的位深度(16位或24位)的AudioBuffer
?我知道我可以使用AudioContext.sampleRate
轻松设置输出的采样率,但如何设置位深度?
我对音频处理的理解非常有限,所以也许它并不像我想象的那么容易。
编辑#1:
实际上,AudioContext.sampleRate
是只读的,所以如果您对如何设置输出的采样率有所了解,那也会很棒。
编辑#2:
我想在编码WAV中的通道数之后插入采样率(在DataView
中)
答案 0 :(得分:3)
您无法直接执行此操作,因为WebAudio仅适用于浮点值。你必须自己做。基本上从离线上下文中获取输出,并将每个样本乘以32768(16位)或8388608(24位)并舍入为整数。这假设上下文的输出位于-1到1的范围内。如果不是,则必须进行额外的缩放。最后,您可能希望将最终结果除以32768(8388608)以获得浮点数。这取决于最终的申请是什么。