Pour se faire, nous allons repartir d'un précédent tutoriel ( Flash AS 3.0 : Capturer le son du microphone (lire, enregistrer ...) ), et on va y apporter quelques modifications. Donc avant toute chose, commencez par ce dernier !
Une fois que vous aurez suivit ce premier tutoriel, nous allons maintenant rajouter une bibliothèque (pensez bien à la lier à votre .fla):
- La lib Shine disponible à cette adresse : shine.swc.
- ShineMP3Encoder disponible à cette adresse : ShineMP3Encoder.zip (l'extraire dans le repertoire du projet)
Code source
Ici, nous allons juste un peu adapter notre code pour venir y intégrer le convertisseur mp3. Allez c'est partit! :) (en vert les ajouts et/ou modifications).
package{
import org.bytearray.micrecorder.encoder.WaveEncoder;
import org.bytearray.micrecorder.MicRecorder;
import org.bytearray.micrecorder.events.RecordingEvent;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.MovieClip;
import org.as3wavsound.WavSound;
import flash.net.FileReference;
import fr.kikko.lab.ShineMP3Encoder;
public class Main extends MovieClip{
private var volume:Number = .5;
private var wavEncoder:WaveEncoder;
private var recorder:MicRecorder;
private var fileReference:FileReference;
private var shine:ShineMP3Encoder;
public function Main(){
wavEncoder = new WaveEncoder( volume );
recorder = new MicRecorder( wavEncoder );
recorder.addEventListener( RecordingEvent.RECORDING, onRecording);
recorder.addEventListener( Event.COMPLETE, onRecordComplete);
btn.addEventListener( MouseEvent.CLICK, btnClick);
btn.label = "Record";
btn_save.alpha = 0;
btn_save.addEventListener( MouseEvent.CLICK, save);
fileReference = new FileReference();
}
private function onRecording(e:RecordingEvent){
trace("recording");
}
private function onRecordComplete(e:Event){
//var player:WavSound = new WavSound( recorder.output );
//player.play();
}
private function btnClick(e:MouseEvent){
if(btn.label == "Record"){
btn.label = "Stop";
recorder.record();
} else {
btn.label = "Record";
recorder.stop();
btn_save.alpha = 1;
shine = new ShineMP3Encoder(recorder.output);
shine.addEventListener(Event.COMPLETE, save);
shine.start();
}
}
private function save(e:Event){
fileReference.save ( shine.mp3Data, "recording.mp3" );
}
}
}
Et vous voilà maintenant capable d'enregistrer le son provenant du micro en MP3!!! Enjoy :)
Ce tutoriel vous a été utile?Abonnez-vous au fil RSS !