O'Reilly logo

Actionscript Cookbook by Joey Lott

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

14.5. Capturing and Playing Audio from a Microphone

Problem

You want to get audio from a user’s microphone to add it to a movie clip within the Flash movie or publish it to a FlashCom application. (See Recipe 14.9.)

Solution

Use the Microphone.get( ) method.

Discussion

The Microphone.get( ) method is analogous to the Camera.get( ) method, but it gets audio data from a user’s microphone instead of video from his camera. For example:

myMic_mic = Microphone.get(  );

The Microphone.get( ) method gets the data for the default microphone (as set in the Microphone tab of the Player Settings dialog box) if you do not specify any parameters. However, if the user has multiple microphones, you can use the Microphone.names array to offer the user a choice among them. See Recipe 14.4, which demonstrates the analogous technique for multiple video cameras.

There is the possibility that the user does not have any microphone. The elements in the Microphone.names array correspond to the recording devices reported by the user’s operating system. In most cases the devices are sound cards, and the existence of a sound card does not necessarily mean there is a microphone. Therefore, there is no definitive way to determine whether a user has a microphone (although if the Microphone.names array is empty, he does not).

if (Microphone.names.length > 0) { // Place code here for getting and using a microphone stream. The user may, in // fact, have only a sound card and no microphone. } else { // Place code here to ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required