我正在使用JSpeex API将.wav文件转换为.spx文件。在桌面上测试时,一切都很完美;只用了2秒钟。
Android开发人员使用了相同的代码,但是在他们的模拟器上编写相同的文件需要大约3分钟。电话。有没有办法减少编码时间?用于转换的代码如下:
new JSpeexEnc().encode(new File("source.wav"), new File("dest.spx"));
答案 0 :(得分:1)
压缩需要时间。压缩越好,花费的时间越长,Speex的压缩效果也相当不错。
台式电脑2秒的时间绝对是老化。JSpeex是一个java实现。使用本机实现,理想情况下使用平台编解码器。
在手机上,使用AMR最好压缩语音 - 不一定是最佳质量/压缩,但很可能硬件加速,因为它使用的是GSM的格式。您通常可以直接从麦克风获取AMR。
首先如何在Android设备上获取大型WAV文件?如果它实际上是麦克风的输出,请考虑使用上面概述的AMR。
如果您需要Speex并且您有一个wav文件,请考虑将其发送到服务器进行压缩。