2013-12-13 5 views
0

MovieClip의 마우스 이벤트를 클릭하지 않고 호출하려고합니다. 나는 recButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK));을 쓴하지만 여기서 일 코드의 일부입니다하지 않습니다dispatchEvent (new MouseEvent (MouseEvent.CLICK))가 as3에서 작동하지 않습니다.

package 
{ 
    import flash.display.Sprite; 
    import flash.media.Microphone; 
    import flash.system.Security; 
    import org.bytearray.micrecorder.*; 
    import org.bytearray.micrecorder.events.RecordingEvent; 
    import org.bytearray.micrecorder.encoder.WaveEncoder; 
    import flash.events.MouseEvent; 
    import flash.events.Event; 
    import flash.events.ActivityEvent; 
    import fl.transitions.Tween; 
    import fl.transitions.easing.Strong; 
    import flash.net.FileReference; 

    public class Main extends Sprite 
    { 
     private var mic:Microphone; 
     private var waveEncoder:WaveEncoder = new WaveEncoder(); 
     private var recorder:MicRecorder = new MicRecorder(waveEncoder); 
     private var recBar:RecBar = new RecBar(); 
     private var tween:Tween; 
     private var fileReference:FileReference = new FileReference(); 
     public function Main():void 
     { 
      recButton.stop(); 
      activity.stop(); 
     trace(recButton); 
      mic = Microphone.getMicrophone(); 
      mic.setSilenceLevel(0); 
      //mic.activityLevel = 50; 
      mic.gain = 100; 
      mic.setLoopBack(true); 
      mic.setUseEchoSuppression(true); 
      Security.showSettings("2"); 

      addListeners(); 

     } 


     private function addListeners():void 
     { 
      recButton.addEventListener(MouseEvent.MOUSE_UP, startRecording); 
      recorder.addEventListener(RecordingEvent.RECORDING, recording); 
      recorder.addEventListener(Event.COMPLETE, recordComplete); 
      activity.addEventListener(Event.ENTER_FRAME, updateMeter); 
     } 

     private function startRecording(e:MouseEvent = null):void 
     { 
      trace("GERE"); 
      if (mic != null) 
      { 
       recorder.record(); 
       e.target.gotoAndStop(2); 

       recButton.removeEventListener(MouseEvent.MOUSE_UP, startRecording); 
       recButton.addEventListener(MouseEvent.MOUSE_UP, stopRecording); 

       addChild(recBar); 

       tween = new Tween(recBar,"y",Strong.easeOut, - recBar.height,0,1,true); 
      } 
     } 

     private function updateMeter(e:Event):void 
     { 
      activity.gotoAndPlay(100 - mic.activityLevel); 

      if(mic.activityLevel > 10) 
       recButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); 
     } 


    } 
} 

내 코드의 어떤 부분이 잘못?

답변

0

어디서나 MouseEvent.CLICK을 청취하지 않는 문제는 MouseEvent.MOUSE_UP뿐입니다. MouseEvent.CLICK을 (를) 듣고보십시오.