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 ...

Get Actionscript Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.