http://www.flash34.com/blog/2735.htm
可以实现录音,回放,还可以把录音保存到本地(wav文件)
主要代码
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.media.Microphone;
import org.as3wavsound.WavSound;
import org.bytearray.micrecorder.MicRecorder;
import org.bytearray.micrecorder.encoder.WaveEncoder;
import org.bytearray.micrecorder.events.RecordingEvent;
import flash.display.MovieClip;
var recorder:MicRecorder = new MicRecorder( new WaveEncoder() );
var player:WavSound;
var _file:FileReference = new FileReference();
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
recorder.addEventListener(RecordingEvent.RECORDING,onRecording);
recorder.addEventListener(Event.COMPLETE,onRecordComplete);
bt2.visible = false;
bt3.visible = false;
bt4.visible = false;
bt1.addEventListener(MouseEvent.CLICK,bt1_ck);
function bt1_ck(event:MouseEvent):void
{
?txtMsg.text = "正在录音";
?recorder.record();
?bt1.visible = false;
?bt2.visible = true;
?bt3.visible = false;
}
bt2.addEventListener(MouseEvent.CLICK,bt2_ck);
function bt2_ck(event:MouseEvent):void
{
?txtMsg.text = "录制完成,可以播放";
?//recorder.record();
?recorder.stop();
?bt1.visible = true;
?bt2.visible = false;
?bt3.visible = true;
?bt4.visible = true;
}
bt3.addEventListener(MouseEvent.CLICK,bt3_ck);
function bt3_ck(event:MouseEvent):void
{
?txtMsg.text = "正在播放";
?player = new WavSound(recorder.output);
?player.play();
?bt1.visible = true;
?bt2.visible = true;
?bt3.visible = true;
}
bt4.addEventListener(MouseEvent.CLICK,bt4_ck);
function bt4_ck(event:MouseEvent):void
{
?_file.save( recorder.output,"recorded.wav" );
}
function onRecording(event:RecordingEvent):void
{
?//_display.text = "Recording since : " + event.time + " ms.";
}
function onRecordComplete(event:Event):void { ?// }