| 包 | 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);
}
}
}