【发布时间】:2017-06-29 03:36:01
【问题描述】:
解码我获取的 mp3 文件的音频数据,使用我的 OfflineContext 渲染它,然后将其导出回 .wav 文件时,声音是具有不同音高的慢动作。是不是因为我的mp3文件和OfflineContext的采样率不一样?如果是,如何在不改变音高的情况下以不同的采样率导出 mp3 文件?
编辑:
我使用OfflineAudioContext 运行decodeAudioData,用于渲染:offlineContext.decodeAudioData(this.arrayBuffer)。 offlineContext的采样率为48000,而我的audioContext(用于正常播放,效果不错)的采样率为41000。
【问题讨论】:
-
请举个例子。您是否使用用于渲染的
OfflineAudioContext运行decodeAudioData? -
嗨,请看我的编辑。
-
举个例子就好了。你如何播放 wav 文件?
-
在编辑我的帖子以添加更完整的示例时,我意识到我在 WAV 文件头中设置了错误的采样率。谢谢您的帮助。不过我注意到,生成的 WAV 文件(包含从 44100 转换为 48000 的音频)有点失真,就像它正在剪辑一样。知道是什么原因造成的吗?
-
decodeAudioData会将音频重新采样到上下文的采样率。这可能会导致一些失真。但是没有实际的源代码和测试文件,我真的不能说。
标签: web-audio-api audio-processing audiocontext