Flash / Flex / ActionScript/Development/Microphone
Introducing the Microphone
package
{
import flash.display.Sprite;
import flash.events.*;
import flash.media.Microphone;
import flash.system.Security;
public class Main extends Sprite
{
public function Main ()
{
var mic:Microphone = Microphone.getMicrophone();
Security.showSettings("2");
mic.setLoopBack(true);
if (mic != null)
{
mic.setUseEchoSuppression(true);
mic.addEventListener(ActivityEvent.ACTIVITY, activityHandler);
mic.addEventListener(StatusEvent.STATUS, statusHandler);
}
}
private function activityHandler(event:ActivityEvent):void
{
trace("activityHandler: " + event);
}
private function statusHandler(event:StatusEvent):void
{
trace("statusHandler: " + event);
}
}
}
Media Servers
package
{
import flash.display.Sprite;
import flash.events.ActivityEvent;
import flash.events.Event;
import flash.events.StatusEvent;
import flash.media.Microphone;
public class Main extends Sprite
{
public var mic:Microphone = Microphone.getMicrophone();
public var level:Sprite = new Sprite();
public function Main()
{
mic.setLoopBack(true);
mic.addEventListener(ActivityEvent.ACTIVITY, activity);
mic.addEventListener(StatusEvent.STATUS, status);
mic.addEventListener(Event.ACTIVATE, active);
addEventListener(Event.ENTER_FRAME, showMicLevel);
addChild(level);
level.y = 200;
level.x = 100;
}
private function active(event:Event):void
{
trace("active");
}
private function status(event:StatusEvent):void
{
trace("status");
}
private function activity(event:ActivityEvent):void
{
trace("activity");
}
private function showMicLevel(event:Event):void
{
trace(mic.gain
+ " " + mic.activityLevel
+ " " + mic.silenceLevel
+ " " + mic.index
+ " " + mic.rate);
level.graphics.beginFill(0xccccff, 1);
level.graphics.drawRect(0, 0, (mic.activityLevel * 3), 100);
level.graphics.endFill();
}
}
}
Use Microphone
package
{
import flash.display.Sprite;
import flash.events.ActivityEvent;
import flash.events.Event;
import flash.events.StatusEvent;
import flash.media.Microphone;
public class Main extends Sprite
{
public var mic:Microphone = Microphone.getMicrophone();
public var level:Sprite;
public function Main()
{
mic.setLoopBack(true);
mic.addEventListener(ActivityEvent.ACTIVITY, activity);
mic.addEventListener(StatusEvent.STATUS, status);
mic.addEventListener(Event.ACTIVATE, active);
addEventListener(Event.ENTER_FRAME, showMicLevel);
level = new Sprite();
addChild(level);
level.y = 200;
level.x = 100;
}
private function active(event:Event):void
{
trace("active");
}
private function status(event:StatusEvent):void
{
trace("status");
}
private function activity(event:ActivityEvent):void
{
trace("activity");
}
private function showMicLevel(event:Event):void
{
trace(mic.gain
+ " " + mic.activityLevel
+ " " + mic.silenceLevel
+ " " + mic.index
+ " " + mic.rate);
level.graphics.beginFill(0xccccff, 1);
level.graphics.drawRect(0, 0, (mic.activityLevel * 3), 100);
level.graphics.endFill();
}
}
}