Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.

Shine MP3 Encoder onAS3 Alchemy пустой файл

все довольно просто:

Пишу звук микрофона используя библиотеку MicRecorder
Wav-ка сохраняется на комп через

fileReference.save(recorder.output, «recording.wav»);

Все нормально. Но, как только я загоняю recorder.output вот так

mp3Encoder = new ShineMP3Encoder(recorder.output);
mp3Encoder.saveAs();

На сохранении пустой файл. В лог пишется время обработки wav-ки и ее длительность и в процентах весь прогресс.

Но при сохранении файла 0 байт(
  • Вопрос задан
  • 3113 просмотров
Решения вопроса 1
sheknitrtch
@sheknitrtch
Вы неправильно пользуетесь классом ShineMP3Encoder (Я сужу по исходному коду этого класса).
После создания переменной mp3Encoder необходимо вызвать метод .start()
Причём нужно помнить об асинхронности работы ShineMP3Encoder. То есть нельзя вызывать .saveAs() сразу после вызова .start(). Нужно подписаться на событие Event.COMPLETE и в обработчике этого события можно сохранять полученный MP3 файл. Код будет выглядеть приблизительно следующим образом

private function startEncoding() : void {
    mp3Encoder = new ShineMP3Encoder(recorder.output);
    mp3Encoder.addEventListener(Event.COMPLETE, onEncodingComplete);
    mp3Encoder.start();
}

private function onEncodingComplete(event : Event) : void {
    mp3Encoder.saveAs();
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы