【问题标题】:Rendered audio plays in slow-mo渲染的音频以慢动作播放
【发布时间】: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


【解决方案1】:

在创建 WAV 文件时,应在 WAV 文件头中设置与离线上下文相同的采样率。例如,标题中采样率为 44100 的 WAV 文件包含采样率为 48000 的数据块,将导致在 iTunes 中播放“慢动作”。

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 2023-03-30
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多