2

我正在使用 JSpeex API 将 .wav 文件转换为 .spx 文件。在桌面上测试时一切都很完美;只用了 2 秒。

Android 开发人员使用相同的代码,但在他们的模拟器和手机上编码相同的文件大约需要 3 分钟。有什么办法可以减少编码时间?用于转换的代码如下:

new JSpeexEnc().encode(new File("source.wav"), new File("dest.spx"));
4

1 回答 1

1

压缩需要时间。压缩效果越好,花费的时间就越长,而 Speex 的压缩效果非常好。

2秒的台式电脑时间绝对是时代。

JSpeex 是一个 java 实现。使用本机实现,最好使用平台编解码器。

在手机上,最好使用 AMR 压缩语音 - 不一定是最好的质量/压缩,但很可能是硬件加速,因为它是 GSM 使用的格式。您通常可以直接从麦克风获得 AMR。

首先,如何将大型 WAV 文件放到 Android 设备上?如果它实际上是麦克风的输出,请考虑使用上述 AMR。

如果您需要 Speex 并且您有一个 wav 文件,请考虑将其发送到服务器进行压缩。

于 2009-09-17T06:52:26.927 回答