5

好的,基本上我们在我们的网站中实现了jRecorder,它为我们提供了以 WAV 格式捕获音频的能力。

现在,在捕获之后,我们使用ShineMP3Encoder将该 WAV 转换为 MP3(以节省文件大小)。这一切都很好。

许多人遇到过这样一个问题,即如果录制的音频电平太高,MP3 编码将完全停止,文件将损坏/变短。当使用 WAV 执行此操作时,WAV 似乎并不关心录制的音频有多大,并且会很乐意按原样播放。

我很欣赏我的问题非常小众,但是在我的头撞墙几天之后,这是我唯一的选择。

值得一提的是,这是用于记录的 ActionScript(它是沼泽标准 ShineMP3 实现):

//recorder.output is outputted from jRecorder
mp3Encoder = new ShineMP3Encoder(recorder.output); 
mp3Encoder.addEventListener(Event.COMPLETE, mp3EncodeComplete);
mp3Encoder.start();
4

1 回答 1

0

一种可能性是编码运行速度比这些轨道上的循环慢,从而导致错误。尝试让编码器运行得更慢,看看是否能解决错误。

在 ShineMP3Encoder.as 的 start() 方法中替换

timer = new Timer(1000/30);

timer = new Timer(150);

这是当前代码库中的第 37 行。

于 2014-01-30T21:17:32.877 回答