·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]AS3录音回放与保存

时间:2015-10-23 15:53酷播
[AS3]AS3录音回放与保存

系统要求:flash CS5以上(保证flashplayer播放器10.2以上),需要几个第三方的 类,org.as3wavsound.WavSound,org.bytearray.micrecorder.MicRecorder,org.bytearray.micrecorder.encoder.WaveEncoder, org.bytearray.micrecorder.events.RecordingEvent,附件里面有。
打开flash CS5,新建AS3文档,舞台上放置四个按钮:btn1、btn2、btn3、btn4,两个动态文本框:txtMsg、displayMsg,
第一帧写代码:

  1. import flash.display.StageAlign; 
  2. import flash.display.StageScaleMode; 
  3. import flash.events.Event; 
  4. import flash.events.MouseEvent; 
  5. import flash.media.Microphone; 
  6.  
  7. import org.as3wavsound.WavSound; 
  8. import org.bytearray.micrecorder.MicRecorder; 
  9. import org.bytearray.micrecorder.encoder.WaveEncoder; 
  10. import org.bytearray.micrecorder.events.RecordingEvent; 
  11.  
  12. stage.align = StageAlign.TOP_LEFT; 
  13. stage.scaleMode = StageScaleMode.NO_SCALE; 
  14.  
  15. var recorder:MicRecorder = new MicRecorder( new WaveEncoder() ); 
  16. var player:WavSound; 
  17. var _file:FileReference = new FileReference(); 
  18.  
  19. recorder.addEventListener(RecordingEvent.RECORDING, onRecording); 
  20. recorder.addEventListener(Event.COMPLETE, onRecordComplete); 
  21.  
  22. btn2.visible = false; 
  23. btn3.visible = false; 
  24. btn4.visible = false; 
  25.  
  26. btn1.addEventListener(MouseEvent.CLICK, startRecord); 
  27. btn2.addEventListener(MouseEvent.CLICK, stopRecord); 
  28. btn3.addEventListener(MouseEvent.CLICK, playBack); 
  29. btn4.addEventListener(MouseEvent.CLICK, saveFile); 
  30.  
  31. function startRecord(event:MouseEvent):void 
  32. { 
  33. txtMsg.text = "正在录音"; 
  34. recorder.record(); 
  35. btn1.visible = false; 
  36. btn2.visible = true; 
  37. btn3.visible = false; 
  38. } 
  39. function stopRecord(event:MouseEvent):void 
  40. { 
  41. txtMsg.text = "录制完成,可以播放"; 
  42. recorder.stop(); 
  43. btn1.visible = true; 
  44. btn2.visible = false; 
  45. btn3.visible = true; 
  46. btn4.visible = true; 
  47. } 
  48. function playBack(event:MouseEvent):void 
  49. { 
  50. txtMsg.text = "正在播放"; 
  51. player = new WavSound(recorder.output); 
  52. player.play(); 
  53.  
  54. btn1.visible = true; 
  55. btn2.visible = true; 
  56. btn3.visible = true; 
  57. } 
  58. function saveFile(event:MouseEvent):void 
  59. { 
  60. _file.save( recorder.output, "recorded.wav" ); 
  61. } 
  62.  
  63. function onRecording(event:RecordingEvent):void 
  64. { 
  65. displayMsg.text = "Recording since : " + event.time + " ms."; 
  66. } 
  67. function onRecordComplete(event:Event):void 
  68. { 
  69. // 
  70. } 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器