0

このプログレスバーをマイクのアクティビティレベルで動かすための小さなコードを誰かに教えてもらえますか?つまり、マイクで話すと、プログレスバーにそれが表示されます。これはInternetExplorerでも機能します。

 <?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;

    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);
    }

 }



]]>
 </mx:Script>

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

</mx:Application>
4

1 に答える 1

0

イベントのコールバック関数を追加する必要があります。showMicLevel として定義していますが、その関数の実装はありません。

   private function showMicLevel(e: Event):void{
      micLevel.setProgress(myMic.activityLevel, 100);
   }
于 2011-01-03T16:01:03.330 に答える