java处理声音比原来的慢

cpjpxq1n  于 2021-06-26  发布在  Java
关注(0)|答案(1)|浏览(310)

我的计划基本上是这样的:

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); 但这只是一种变通办法,实际上并不能“解决”问题。如何解释慢下来的音频?

oxcyiej7

oxcyiej71#

“如何解释慢下来的音频?”
48000 / 44100 = 1.088435374
速度的变化可能是由于每秒帧数的不同。您的源声音可能录制在48000和播放是运行在44100帧/秒。
有一个关于使用文件和格式转换器的教程,它可能对使用资产有所帮助,但我不知道48000是受支持的格式。此外,无论您使用什么库来解码.mp3也可能会造成限制。
在将其作为资产引入java之前,我会考虑使用audacity这样的工具将资产转换为44100。或者,如果你正在与一个声音设计师合作,让他们知道你需要他们交付的资产被编码为44100fps。
但如果资产在1.08点很容易回调,那么这或许是阻力最小的可接受路径?

相关问题