2011-01-17 2 views
1

以下のコードでは、マイクが接続されていないときにノイズが生成され、システムは同じサウンドを鳴らし続けます。以下のコードは間違っています。私は以下のコード不要なノイズを減らす

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application 
xmlns:mx="http://www.adobe.com/2006/mxml" 
layout="absolute" 
width="300" 
height="100" 
creationComplete="init()"> 

<mx:Script> 
    <![CDATA[ 
    import mx.controls.Alert; 
    import flash.net.NetStream; 

    private var myMic:Microphone; 
    private var recordingState:String = "idle"; 

    private function init():void { 

     myMic = Microphone.getMicrophone(); 
     myMic.setSilenceLevel(0); 
     myMic.rate = 44; 
     myMic.gain = 100; 
     myMic.setUseEchoSuppression(true); 
     micLevel.visible = true; 
     //Security.showSettings(SecurityPanel.MICROPHONE); 
     myMic.setLoopBack(true); 
     if (myMic != null) 
     { 
      myMic.setUseEchoSuppression(true); 
      micLevel.setProgress(myMic.activityLevel, 100); 
      addEventListener(Event.ENTER_FRAME, showMicLevel); 
      //micLevel.setProgress(myMic.activityLevel, 100); 
     } 

    } 

    private function showMicLevel(event:Event):void{ 
     switch (recordingState){ 
      case "idle" : 
       micLevel.setProgress(myMic.activityLevel, 100); 
       break; 
     } 

     } 







    ]]> 
    </mx:Script> 

    <mx:ProgressBar x="0" y="36" mode="manual" id="micLevel" label="" labelPlacement="bottom" width="100" fontSize="10" fontWeight="normal"/> 


    </mx:Application> 

答えて

0

にmyMic.setLoopBack(false)を設定する必要がありmyMic.silenceLevel(20)や、いくつかの大きい整数を作ってみて確認してください。 これで問題を解決するはずです。

+0

これを試してみてください。 – Rajeev

+0

これは実際には役に立たない – Rajeev

関連する問題