包 | flash.media |
类 | public final class SoundTransform |
继承 | SoundTransform Object |
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
另请参见
属性 | 定义方 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
leftToLeft : Number 从 0(无)至 1(全部)的值,指定了左输入在左扬声器里播放的量。 | SoundTransform | ||
leftToRight : Number 从 0(无)至 1(全部)的值,指定了左输入在右扬声器里播放的量。 | SoundTransform | ||
pan : Number 声音从左到右的平移,范围从 -1(左侧最大平移)至 1(右侧最大平移)。 | SoundTransform | ||
prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object | ||
rightToLeft : Number 从 0(无)至 1(全部)的值,指定了右输入在左扬声器里播放的量。 | SoundTransform | ||
rightToRight : Number 从 0(无)至 1(全部)的值,指定了右输入在右扬声器里播放的量。 | SoundTransform | ||
volume : Number 音量范围从 0(静音)至 1(最大音量)。 | SoundTransform |
方法 | 定义方 | ||
---|---|---|---|
创建 SoundTransform 对象。 | SoundTransform | ||
指示对象是否已经定义了指定的属性。 | Object | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
指示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object |
leftToLeft | 属性 |
leftToLeft:Number
[读写] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
从 0(无)至 1(全部)的值,指定了左输入在左扬声器里播放的量。
public function get leftToLeft():Number
public function set leftToLeft(value:Number):void
leftToRight | 属性 |
leftToRight:Number
[读写] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
从 0(无)至 1(全部)的值,指定了左输入在右扬声器里播放的量。
public function get leftToRight():Number
public function set leftToRight(value:Number):void
pan | 属性 |
pan:Number
[读写] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
声音从左到右的平移,范围从 -1(左侧最大平移)至 1(右侧最大平移)。值 0 表示没有平移(在左侧和右侧之间平衡居中)。
public function get pan():Number
public function set pan(value:Number):void
rightToLeft | 属性 |
rightToLeft:Number
[读写] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
从 0(无)至 1(全部)的值,指定了右输入在左扬声器里播放的量。
public function get rightToLeft():Number
public function set rightToLeft(value:Number):void
rightToRight | 属性 |
rightToRight:Number
[读写] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 9 |
从 0(无)至 1(全部)的值,指定了右输入在右扬声器里播放的量。
public function get rightToRight():Number
public function set rightToRight(value:Number):void
volume | 属性 |
volume:Number
[读写] 语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 Flash Player 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 |
运行时版本: | AIR 1.0 Flash Player 9 |
创建 SoundTransform 对象。
参数vol:Number (default = 1 ) — 音量范围从 0(静音)至 1(最大音量)。 | |
panning:Number (default = 0 ) — 声音从左到右的平移,范围从 -1(左侧最大平移)至 1(右侧最大平移)。值 0 表示没有平移(居中)。 |
在构造函数中,加载了声音并将其分配给一个声道 (channel
)。还会创建一个 SoundTranform 对象 (transform
)。它的第一个参数将音量设置为 50%(范围从 0.0 到 1.0)。它的第二个参数设置平移。在本示例中,将平移设置为 1.0,这表示仅从右扬声器中播放声音。为了使这些设置生效,将 transform
SoundTranform 对象分配给了声道的 souundTransform
属性。
注意:仅为本示例编写了有限的错误处理代码。
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); } } }
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); } } }