13.08.2012 Views

ACTIONSCRIPT 3 Developer’s Guide en

ACTIONSCRIPT 3 Developer’s Guide en

ACTIONSCRIPT 3 Developer’s Guide en

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>ACTIONSCRIPT</strong> 3.0 DEVELOPER’S GUIDE<br />

Working with sound<br />

The following example displays information about the microphone and reports on activity ev<strong>en</strong>ts and status ev<strong>en</strong>ts<br />

dispatched by a Microphone object:<br />

import flash.ev<strong>en</strong>ts.ActivityEv<strong>en</strong>t;<br />

import flash.ev<strong>en</strong>ts.StatusEv<strong>en</strong>t;<br />

import flash.media.Microphone;<br />

var deviceArray:Array = Microphone.names;<br />

trace("Available sound input devices:");<br />

for (var i:int = 0; i < deviceArray.l<strong>en</strong>gth; i++)<br />

{<br />

trace(" " + deviceArray[i]);<br />

}<br />

var mic:Microphone = Microphone.getMicrophone();<br />

mic.gain = 60;<br />

mic.rate = 11;<br />

mic.setUseEchoSuppression(true);<br />

mic.setLoopBack(true);<br />

mic.setSil<strong>en</strong>ceLevel(5, 1000);<br />

mic.addEv<strong>en</strong>tList<strong>en</strong>er(ActivityEv<strong>en</strong>t.ACTIVITY, this.onMicActivity);<br />

mic.addEv<strong>en</strong>tList<strong>en</strong>er(StatusEv<strong>en</strong>t.STATUS, this.onMicStatus);<br />

var micDetails:String = "Sound input device name: " + mic.name + '\n';<br />

micDetails += "Gain: " + mic.gain + '\n';<br />

micDetails += "Rate: " + mic.rate + " kHz" + '\n';<br />

micDetails += "Muted: " + mic.muted + '\n';<br />

micDetails += "Sil<strong>en</strong>ce level: " + mic.sil<strong>en</strong>ceLevel + '\n';<br />

micDetails += "Sil<strong>en</strong>ce timeout: " + mic.sil<strong>en</strong>ceTimeout + '\n';<br />

micDetails += "Echo suppression: " + mic.useEchoSuppression + '\n';<br />

trace(micDetails);<br />

function onMicActivity(ev<strong>en</strong>t:ActivityEv<strong>en</strong>t):void<br />

{<br />

trace("activating=" + ev<strong>en</strong>t.activating + ", activityLevel=" +<br />

mic.activityLevel);<br />

}<br />

function onMicStatus(ev<strong>en</strong>t:StatusEv<strong>en</strong>t):void<br />

{<br />

trace("status: level=" + ev<strong>en</strong>t.level + ", code=" + ev<strong>en</strong>t.code);<br />

}<br />

Wh<strong>en</strong> you run the above example, speak or makes noises into your system microphone and watch the resulting trace<br />

statem<strong>en</strong>ts appear in a console or debug window.<br />

S<strong>en</strong>ding audio to and from a media server<br />

Flash Player 9 and later, Adobe AIR 1.0 and later<br />

Additional audio capabilities are available wh<strong>en</strong> using ActionScript with a streaming media server such as Flash Media<br />

Server.<br />

Last updated 6/6/2012<br />

464

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!