| 套件 | 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 檔案時,移動滑鼠或是其他使用者輸入裝置;當您在 Stage 上方移動使用者輸入裝置時,音量與平衡會隨之變更。若要執行此範例,請將名為 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, 03:47 PM Z
隱藏繼承公用屬性
顯示繼承公用屬性