13.12. Controlling the Panning of a Sound

Problem

You want to control the panning of a sound.

Solution

Use the setPan( ) method of the Sound object that controls the sound.

Discussion

You can use Sound.setPan( ) to programmatically control the panning of a sound between the left and right channels. A value of -100 plays the sound entirely in the left channel, and a value of 100 plays the sound entirely in the right channel. A value of 0 plays the sound equally between the two channels.

// Set the panning of a sound to 100, meaning that the sound is played completely in
// the right channel and not in the left.
mySound_sound.setPan(100);

You can use getPan( ) in conjunction with setPan( ) to set the panning relative to its current value:

// Set the panning of a sound 15% to the left of the previous setting.
mySound_sound.setPan(mySound_sound.getPan(  ) - 15);

You can use setPan( ) over time to create the effect of a sound moving from one side to the other:

#include "Sound.as" mySound_sound = Sound.createNewSound( ); // Attach a sound from the Library. mySound_sound.attachSound("MySoundSymbol"); // Start the playback of the sound. mySound_sound.start( ); // Define a function to call on an interval. function moveLeftToRight ( ) { // Get the current position and the total duration of the sound. var pos = mySound_sound.position; var dur = mySound_sound.duration; // Determine the panning for the current position. At the beginning of the sound, // the panning should be to the left, and at the end ...

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.