Pacoteflash.media
Classepublic final class SoundTransform
HerançaSoundTransform Inheritance Object

The SoundTransform class contains properties for volume and panning.

Veja Exemplos

Veja também

flash.display.SimpleButton.soundTransform
flash.display.Sprite.soundTransform
flash.media.Microphone.soundTransform
flash.media.SoundChannel.soundTransform
flash.media.SoundMixer.soundTransform
flash.net.NetStream.soundTransform


Propriedades Públicas
 PropriedadeDefinido por
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  leftToLeft : Number
A value, from 0 (none) to 1 (all), specifying how much of the left input is played in the left speaker.
SoundTransform
  leftToRight : Number
A value, from 0 (none) to 1 (all), specifying how much of the left input is played in the right speaker.
SoundTransform
  pan : Number
The left-to-right panning of the sound, ranging from -1 (full pan left) to 1 (full pan right).
SoundTransform
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
  rightToLeft : Number
A value, from 0 (none) to 1 (all), specifying how much of the right input is played in the left speaker.
SoundTransform
  rightToRight : Number
A value, from 0 (none) to 1 (all), specifying how much of the right input is played in the right speaker.
SoundTransform
  volume : Number
The volume, ranging from 0 (silent) to 1 (full volume).
SoundTransform
Métodos Públicos
 MétodoDefinido por
  
SoundTransform(vol:Number = 1, panning:Number = 0)
Creates a SoundTransform object.
SoundTransform
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
Detalhes da propriedade
leftToLeftpropriedade
leftToLeft:Number  [read-write]

A value, from 0 (none) to 1 (all), specifying how much of the left input is played in the left speaker.


Implementação
    public function get leftToLeft():Number
    public function set leftToLeft(value:Number):void
leftToRightpropriedade 
leftToRight:Number  [read-write]

A value, from 0 (none) to 1 (all), specifying how much of the left input is played in the right speaker.


Implementação
    public function get leftToRight():Number
    public function set leftToRight(value:Number):void
panpropriedade 
pan:Number  [read-write]

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


Implementação
    public function get pan():Number
    public function set pan(value:Number):void
rightToLeftpropriedade 
rightToLeft:Number  [read-write]

A value, from 0 (none) to 1 (all), specifying how much of the right input is played in the left speaker.


Implementação
    public function get rightToLeft():Number
    public function set rightToLeft(value:Number):void
rightToRightpropriedade 
rightToRight:Number  [read-write]

A value, from 0 (none) to 1 (all), specifying how much of the right input is played in the right speaker.


Implementação
    public function get rightToRight():Number
    public function set rightToRight(value:Number):void
volumepropriedade 
volume:Number  [read-write]

The volume, ranging from 0 (silent) to 1 (full volume).


Implementação
    public function get volume():Number
    public function set volume(value:Number):void
Detalhes do construtor
SoundTransform()Construtor
public function SoundTransform(vol:Number = 1, panning:Number = 0)

Creates a SoundTransform object.

Parâmetros
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).

Exemplo

In the following exemplo, 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 exemplo.)

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);
        }
    }
}
Exemplos How to use examples
SoundTransformExample.as

The following exemplo 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 exemplo, 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);
            
        }
    }
}