Вы неправильно пользуетесь классом
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();
}