2013-06-12 8 views
5

Хорошо, в основном у нас есть jRecorder, реализованный на нашем веб-сайте, который позволяет нам записывать аудио в формате WAV.При кодировании в MP3 в ShineRecorder кодирование прекращается, если объем слишком высок.

Теперь, после захвата, мы используем 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(); 
+0

пытается воспроизвести ошибку. Можете ли вы предоставить wav-файл? Что заставляет вас думать о его высоком уровне звука? –

+0

Также вы слушаете какой-либо ErrorEvent во время кодирования? –

+0

@PlasticSturgeon Чтобы воспроизвести его, вы можете просто вбить микрофон так сильно, как можете. Я пытался прослушивать ErrorEvent, но безрезультатно. – mattytommo

ответ

0

Одна возможность состоит в том, что кодирование работает медленнее, чем петли на этих треках, в результате чего ошибка. Попробуйте сделать кодер медленнее и посмотреть, исправляет ли эта ошибка.

В методе Start() из ShineMP3Encoder.as заменить

timer = new Timer(1000/30); 

с

timer = new Timer(150); 

Вот строка в текущей кодовой базе 37.

+0

Приветствия за ответ, но я думаю, что это на самом деле бросает ошибку на кодировку, но не возникает внутри ActionScript. Я попробую это и посмотрю, что произойдет. – mattytommo