微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

处理声音比原来慢

如何解决处理声音比原来慢

我的程序本质上是这样的:

import processing.sound.*;

void setup() {
    SoundFile file = new SoundFile(this,"E:/Coding/Tetris/data/Soundtrack.mp3");
    file.loop();
}

void draw() {}

当我执行它时,音频比原始声音慢了大约 1.08 倍。

当然,我可以添加 file.rate(1.08); 但这只是一种解决方法,实际上并不能“解决”问题。如何解释变慢的音频?

解决方法

“如何解释变慢的音频?”

48000 / 44100 = 1.088435374

速度的变化可能是由于每秒帧数的差异。您的源声音可能以 48000 录制,播放速度为 44100 fps。

关于 Using Files and Format Converters 的教程可能对使用资产有所帮助,但我不知道 48000 是受支持的格式。此外,您用来解码 .mp3 的任何库也可能会造成限制。

在将资产作为资产引入 Java 之前,我会考虑使用 Audacity 之类的工具将资产转换为 44100。或者,如果您正在与声音设计师合作,请让他们知道您需要以 44100 fps 对他们提供的资产进行编码。

但如果很容易在 1.08 重放资产,那也许这是阻力最小的可接受路径?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。