包 | flash.media |
类 | public final class SoundTransform |
继承 | SoundTransform Object |
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
相关 API 元素
flash.display.SimpleButton.soundTransform
flash.display.Sprite.soundTransform
flash.media.Microphone.soundTransform
flash.media.SoundChannel.soundTransform
flash.media.SoundMixer.soundTransform
flash.net.NetStream.soundTransform
flash.display.Sprite.soundTransform
flash.media.Microphone.soundTransform
flash.media.SoundChannel.soundTransform
flash.media.SoundMixer.soundTransform
flash.net.NetStream.soundTransform
公共属性
属性 | 由以下参数定义 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
leftToLeft : Number
从 0(无)至 1(全部)的值,指定了左输入在左扬声器里播放的量。 | SoundTransform | ||
leftToRight : Number
从 0(无)至 1(全部)的值,指定了左输入在右扬声器里播放的量。 | SoundTransform | ||
pan : Number
声音从左到右的平移,范围从 -1(左侧最大平移)至 1(右侧最大平移)。 | SoundTransform | ||
rightToLeft : Number
从 0(无)至 1(全部)的值,指定了右输入在左扬声器里播放的量。 | SoundTransform | ||
rightToRight : Number
从 0(无)至 1(全部)的值,指定了右输入在右扬声器里播放的量。 | SoundTransform | ||
volume : Number
音量范围从 0(静音)至 1(最大音量)。 | SoundTransform |
公共方法
方法 | 由以下参数定义 | ||
---|---|---|---|
创建 SoundTransform 对象。 | SoundTransform | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object |
属性详细信息
leftToLeft | 属性 |
leftToRight | 属性 |
pan | 属性 |
rightToLeft | 属性 |
rightToRight | 属性 |
volume | 属性 |
构造函数详细信息
SoundTransform | () | 构造函数 |
public function SoundTransform(vol:Number = 1, panning:Number = 0)
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0, Flash Player 9, Flash Lite 4 |
创建 SoundTransform 对象。
参数vol:Number (default = 1 ) — 音量范围从 0(静音)至 1(最大音量)。
| |
panning:Number (default = 0 ) — 声音从左到右的平移,范围从 -1(左侧最大平移)至 1(右侧最大平移)。值 0 表示没有平移(居中)。
|
示例 ( 如何使用本示例 )
在下面的示例中,仅从右声道中播放声音,并将音量设置为 50%。
在构造函数中,加载了声音并将其分配给一个声道 (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); } } }
示例 如何使用本示例
SoundTransformExample.as
以下示例将加载并播放 MP3 文件。当 MP3 文件播放时,移动鼠标或其他用户输入设备;当您在舞台上方移动用户输入设备时,音量和全景模式将更改。要运行此示例,请将一个名为 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); } } }
Tue Jun 12 2018, 11:04 AM Z