14.6. Controlling FlashCom Audio

Problem

You want to control the volume and pan of audio attached to a movie clip with the attachAudio( ) method.

Solution

Create a Sound object that targets the movie clip to which the sound is attached and use the pan and volume methods of the Sound class.

Discussion

FlashCom audio (meaning audio coming from either a microphone stream or from a net stream) can be heard once it has been attached to a movie clip using the attachAudio( ) method. However, the volume and panning levels play at the default settings. But don’t fret. There is a solution.

Although you cannot use a Sound object to control the playback (stopping, starting, or seeking) of an attached FlashCom sound, you can control the volume and panning with a Sound object that targets the movie clip to which the sound has been attached:

// Attach audio (which can be either local microphone data or a net stream) to a
// movie clip.
mySoundHolderMc.attachAudio(Microphone.get(  ));

// Create a Sound object that targets the movie clip to 
// which the sound has been attached.
mySound = new Sound(mySoundHolderMc);

// Control the sound using the Sound class's get/set methods as you would normally.
// Shown here is an example that sets the volume.
mySound.setVolume(60);

Warning

Early revisions of Flash Player 6 had a bug that prevented you from controlling attached sounds in this way. This technique requires Flash Player 6.0.60.0 or later. Not only should you update your plugin Player but also the Test ...

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.