Language version: | ActionScript 3.0 |
The SoundTransform class contains properties for volume and panning.
View the examples.
leftToLeft:Number
[read-write]
Language version: | ActionScript 3.0 |
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 |
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 |
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 |
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 |
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 |
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 |
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 plays only from the
right channel, and the volume is set to 50 percent.
In the constructor, the sound is loaded and is 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 sets the panning. In this example, panning is set to 1.0, which means
the sound comes from the right speaker only. In order for these settings to
take effect, the transform
SoundTranform object is
assigned to the sound channel's souundTransform
property.
Note: 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 or other user input device; the
volume and panning change as you move the user input device 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;
}
var volume:Number = 1 - (yPos / stage.stageHeight);
setVolume(volume);
setPan(pan);
}
}
}
© 2004-2022 Adobe Systems Incorporated. All rights reserved.
Wed Sep 28 2022, 6:12 PM GMT+01:00