好的,基本上我们有 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();
最佳答案
一种可能性是编码运行速度比这些轨道上的循环慢,从而导致错误。
尝试让编码器运行得更慢,看看是否能解决错误。
在 ShineMP3Encoder.as 的 start() 方法中替换
timer = new Timer(1000/30);
和
timer = new Timer(150);
这是当前代码库中的第 37 行。
关于actionscript-3 - 在 ShineRecorder 中编码为 MP3 时,如果音量过高会停止编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17061582/