Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package
- {
- import flash.display.Sprite;
- import flash.events.KeyboardEvent;
- import flash.events.TimerEvent;
- import flash.media.Microphone;
- import flash.net.SharedObject;
- import flash.system.Security;
- import flash.utils.ByteArray;
- import flash.utils.Timer;
- import org.bytearray.micrecorder.*;
- import org.bytearray.micrecorder.events.RecordingEvent;
- import org.bytearray.micrecorder.encoder.*;
- import org.as3wavsound.*;
- import flash.events.MouseEvent;
- import flash.events.Event;
- import flash.events.ActivityEvent;
- import flash.net.FileReference;
- import flash.events.StatusEvent;
- import flash.media.SoundChannel;
- import flash.media.Sound;
- /**
- * ...
- * @author Richman Stewart
- */
- public class Main extends Sprite //Communicating Group Speak
- {
- private var mic:Microphone; //A microphone instance
- private var waveEncoder:WaveEncoder = new WaveEncoder(); //Will encode the data captured by the microphone, part of MicRecorder
- private var recorder:MicRecorder = new MicRecorder(waveEncoder); //Creates a MicRecorder instance and uses the WaveEncoder class to encode
- private var RecordingSound:SharedObject; //Used to save the encoded file to disk
- //private var SendingTimer:Timer = new Timer();
- public function Main():void
- {
- RecordingSound = SharedObject.getLocal("RecordedSound");
- mic = Microphone.getMicrophone();
- mic.setSilenceLevel(0);
- mic.gain = 100;
- mic.setUseEchoSuppression(false);
- Security.showSettings("2");
- CheckMicrophoneStatus();
- CreateEvents();
- }
- private function CheckMicrophoneStatus():void {
- trace("Recording has started.");
- trace("Currently using " + mic.name + " Microphone.");
- }
- private function CreateEvents():void {
- stage.addEventListener(MouseEvent.MOUSE_DOWN, StartRecording);
- stage.addEventListener(MouseEvent.MOUSE_UP, StopRecording);
- stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDown);
- addEventListener(Event.ENTER_FRAME, EnterFrameLoop);
- }
- private function KeyDown(ev:KeyboardEvent) {
- if (ev.keyCode == 39) {
- trace(RecordingSound.data.RecordedSound);
- trace("Successfully loaded recording sound.");
- var player:WavSound = new WavSound(recorder.output);
- player.play();
- }
- }
- private function StartRecording(Event:MouseEvent):void {
- if (mic != null) {
- recorder.record();
- mic.setLoopBack(true);
- }
- }
- private function StopRecording(Event:MouseEvent):void{
- if (mic != null){
- recorder.stop();
- mic.setLoopBack(false);
- trace(recorder.output + " recorded output");
- RecordingSound.data.RecordedSound = recorder.output;
- RecordingSound.flush();
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment