Главная / Action Script 3
Пакетflash.media
Классpublic final class SoundTransform
НаследованиеSoundTransform Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Класс SoundTransform содержит свойства громкости и панорамирования. Следующие объекты содержат свойство soundTransform, значением которого является объект SoundTransform: Microphone, NetStream, SimpleButton, SoundChannel, SoundMixer и Sprite.

Посмотреть примеры



Общедоступные свойства
 СвойствоОпределено
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  leftToLeft : Number
Значение от 0 (нет) до 1 (все), указывающее, какая доля левого входа воспроизводится в левом динамике.
SoundTransform
  leftToRight : Number
Значение, от 0 (нет) до 1 (все), указывающее, какая доля левого входа воспроизводится в правом динамике.
SoundTransform
  pan : Number
Панорамирование звука слева направо, в диапазоне от -1 (полная панорама слева) до 1 (полная панорама справа).
SoundTransform
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
  rightToLeft : Number
Значение от 0 (нет) до 1 (все), указывающее, какая доля правого входа воспроизводится в левом динамике.
SoundTransform
  rightToRight : Number
Значение от 0 (нет) до 1 (все), указывающее, какая доля правого входа воспроизводится в правом динамике.
SoundTransform
  volume : Number
Громкость от 0 (тишина) до 1 (полная громкость).
SoundTransform
Общедоступные методы
 МетодОпределено
  
SoundTransform(vol:Number = 1, panning:Number = 0)
Создает объект SoundTransform.
SoundTransform
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Сведения о свойстве
leftToLeftсвойство
leftToLeft:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Значение от 0 (нет) до 1 (все), указывающее, какая доля левого входа воспроизводится в левом динамике.



Реализация
    public function get leftToLeft():Number
    public function set leftToLeft(value:Number):void
leftToRightсвойство 
leftToRight:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Значение, от 0 (нет) до 1 (все), указывающее, какая доля левого входа воспроизводится в правом динамике.



Реализация
    public function get leftToRight():Number
    public function set leftToRight(value:Number):void
panсвойство 
pan:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Панорамирование звука слева направо, в диапазоне от -1 (полная панорама слева) до 1 (полная панорама справа). Значение 0 представляет отсутствие панорамы (сбалансированный центр между правым и левым каналами).



Реализация
    public function get pan():Number
    public function set pan(value:Number):void
rightToLeftсвойство 
rightToLeft:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Значение от 0 (нет) до 1 (все), указывающее, какая доля правого входа воспроизводится в левом динамике.



Реализация
    public function get rightToLeft():Number
    public function set rightToLeft(value:Number):void
rightToRightсвойство 
rightToRight:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Значение от 0 (нет) до 1 (все), указывающее, какая доля правого входа воспроизводится в правом динамике.



Реализация
    public function get rightToRight():Number
    public function set rightToRight(value:Number):void
volumeсвойство 
volume:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Громкость от 0 (тишина) до 1 (полная громкость).



Реализация
    public function get volume():Number
    public function set volume(value:Number):void
Сведения о конструкторе
SoundTransform()Конструктор
public function SoundTransform(vol:Number = 1, panning:Number = 0)

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Создает объект SoundTransform.

Параметры
vol:Number (default = 1) — Громкость от 0 (тишина) до 1 (полная громкость).
 
panning:Number (default = 0) — Панорамирование звука слева направо, в диапазоне от -1 (полная панорама слева) до 1 (полная панорама справа). Значение 0 указывает на отсутствие панорамы (по центру).

Пример

В следующем примере звук воспроизводится только правым каналом, громкость установлена на 50 процентов.

Конструктор загружает звук и назначает его звуковому каналу (channel). Также создается объект SoundTranform (transform). Его первый аргумент устанавливает громкость на 50 процентов (диапазон значений — от 0 до 1). Второй аргумент задает панораму. В этом примере панорама имеет значение 1, то есть звук выводится только из правого динамика. Чтобы эти параметры вступили в силу объект SoundTranform с именем transform назначается свойству soundTransform звукового канала.

Примечание. Для этого примера определена ограниченная обработка ошибок.

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);
        }
    }
}
Примеры Как пользоваться примерами
SoundTransformExample.as

В следующем примере загружается и воспроизводится МР3-файл. Во время воспроизведения МР3-файла двигайте мышь: громкость и панорама изменяются при перемещении мыши по рабочей области. Чтобы запустить данный пример, поместите файл MySound.mp3 в тот каталог, где находится рассматриваемый SWF-файл.
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);
            
        }
    }
}