0

任何人都可以向我指出一小段代码,以使此进度条在麦克风活动级别上移动。即,当在麦克风上讲话时,进度条应指示它。这也适用于Internet Explorer

 <?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 回答