| Language Version : | ActionScript 3.0 |
| Player Version : | Flash Player 9 |
The SoundTransform class contains properties for volume and panning.
The following objects contain a
soundTransform property,
the value of which is a SoundTransform object: Microphone, NetStream, SimpleButton,
SoundChannel, SoundMixer, and Sprite.
View the examples
leftToLeft:Number [read-write]
| Language Version : | ActionScript 3.0 |
| Player Version : | Flash Player 9 |
A value, from 0 (none) to 1 (all), specifying how much of the left input is played in the
left speaker.
Implementation
public function get leftToLeft():Number
public function set leftToLeft(value:Number):void
leftToRight:Number [read-write]
| Language Version : | ActionScript 3.0 |
| Player Version : | Flash Player 9 |
A value, from 0 (none) to 1 (all), specifying how much of the left input is played in the
right speaker.
Implementation
public function get leftToRight():Number
public function set leftToRight(value:Number):void
pan:Number [read-write]
| Language Version : | ActionScript 3.0 |
| Player Version : | Flash Player 9 |
The left-to-right panning of the sound, ranging from -1 (full pan left)
to 1 (full pan right). A value of 0 represents no panning (balanced center between
right and left).
Implementation
public function get pan():Number
public function set pan(value:Number):void
rightToLeft:Number [read-write]
| Language Version : | ActionScript 3.0 |
| Player Version : | Flash Player 9 |
A value, from 0 (none) to 1 (all), specifying how much of the right input is played in the
left speaker.
Implementation
public function get rightToLeft():Number
public function set rightToLeft(value:Number):void
rightToRight:Number [read-write]
| Language Version : | ActionScript 3.0 |
| Player Version : | Flash Player 9 |
A value, from 0 (none) to 1 (all), specifying how much of the right input is played in the
right speaker.
Implementation
public function get rightToRight():Number
public function set rightToRight(value:Number):void
volume:Number [read-write]
| Language Version : | ActionScript 3.0 |
| Player Version : | Flash Player 9 |
The volume, ranging from 0 (silent) to 1 (full volume).
Implementation
public function get volume():Number
public function set volume(value:Number):void
public function SoundTransform(vol:Number = 1, panning:Number = 0)
| Language Version : | ActionScript 3.0 |
| Player Version : | Flash Player 9 |
Creates a SoundTransform object.
Parameters
| vol:Number (default = 1) — The volume, ranging from 0 (silent) to 1 (full volume).
|
| |
| panning:Number (default = 0) — The left-to-right panning of the sound, ranging from -1 (full pan left)
to 1 (full pan right). A value of 0 represents no panning (center).
|
Example
In the following example, the sound will only play from the
right channel and the volume is set to 50 percent.
In the constructor, the sound is loaded and assigned to a sound channel
(channel). A SoundTranform object (transform) is also
created. Its first argument sets the volume at 50 percent (the range is 0.0
to 1.0). Its second argument set the panning. Here, panning is set to 1.0, which means
the sound will only come from the right speaker. In order for these setting to
take effect, the transform SoundTranform object is
assigned to the sound channel's souundTransform property. (There is
limited error handling written for this example.)
package {
import flash.display.Sprite;
import flash.net.URLRequest;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundTransform;
import flash.events.IOErrorEvent;
public class SoundTransform_constructorExample extends Sprite
{
public function SoundTransform_constructorExample() {
var mySound:Sound = new Sound();
var url:URLRequest = new URLRequest("mySound.mp3");
var channel:SoundChannel;
var transform:SoundTransform = new SoundTransform(0.5, 1.0);
mySound.load(url);
channel = mySound.play();
channel.soundTransform = transform;
mySound.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
}
private function errorHandler(errorEvent:IOErrorEvent):void {
trace("The sound could not be loaded: " + errorEvent.text);
}
}
}
The following example loads and plays an MP3 file. As the MP3 file plays,
move the mouse; the
volume and panning change as you move the mouse over the Stage.
To run this example, place a file named MySound.mp3 in the same directory as your SWF file.
package {
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.*;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundTransform;
import flash.net.URLRequest;
import flash.utils.Timer;
public class SoundTransformExample extends Sprite {
private var url:String = "MySound.mp3";
private var soundFactory:Sound;
private var channel:SoundChannel;
private var positionTimer:Timer;
public function SoundTransformExample() {
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
var request:URLRequest = new URLRequest(url);
soundFactory = new Sound();
soundFactory.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
soundFactory.load(request);
channel = soundFactory.play();
stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}
private function ioErrorHandler(event:Event):void {
trace("ioErrorHandler: " + event);
}
private function setPan(pan:Number):void {
trace("setPan: " + pan.toFixed(2));
var transform:SoundTransform = channel.soundTransform;
transform.pan = pan;
channel.soundTransform = transform;
}
private function setVolume(volume:Number):void {
trace("setVolume: " + volume.toFixed(2));
var transform:SoundTransform = channel.soundTransform;
transform.volume = volume;
channel.soundTransform = transform;
}
private function mouseMoveHandler(event:MouseEvent):void {
var halfStage:uint = Math.floor(stage.stageWidth / 2);
var xPos:uint = event.stageX;
var yPos:uint = event.stageY;
var value:Number;
var pan:Number;
if (xPos > halfStage) {
value = xPos / halfStage;
pan = value - 1;
} else if (xPos < halfStage) {
value = (xPos - halfStage) / halfStage;
pan = value;
} else {
pan = 0;
}
if(pan > 1) pan = 0;
var volume:Number = 1 - (yPos / stage.stageHeight);
setVolume(volume);
setPan(pan);
}
}
}
© 2004-2007 Adobe Systems Incorporated. All rights reserved.
Mon Sep 10 2007, 5:43 PM GMT-07:00