Sound 類別
負責載入聲音及播放聲音
大致有以下屬性:
bytesLoaded : uint //目前可用的位元組數目
bytesTotal : int //位元組總數
id3 : ID3Info //存取 MP3 檔的 id3 資訊
isBuffering : Boolean //傳回外部 MP3 檔的緩衝狀態
length : Number //長度,以毫秒為單位。 Sound
url : String
方法:
Sound(stream:URLRequest = null, context:SoundLoaderContext = null)
//建立新的 Sound 物件
close():void
//關閉串流,因而導致資料的下載作業終止
load(stream:URLRequest, context:SoundLoaderContext = null):void
//從指定 URL 載入外部 MP3 檔的作業
play(startTime:Number = 0, loops:int = 0, sndTransform:SoundTransform = null):SoundChannel
//產生新的 SoundChannel 物件,以便播放聲音。
事件:
complete //在順利載入資料時傳送
id3 //當 ID3 資料可用於 MP3 聲音時,由 Sound 物件傳送
ioError //發生輸入/輸出錯誤,因而導致載入作業失敗時傳送
open //在載入作業開始時傳送
progress //在載入作業進行中收到資料時傳送
但要控制聲音的播放
則需要使用其他類別
SoundChannel ==> 控制聲音的播放, 停止與多聲道混音
SoundTransform ==> 控制音量與左右相位
-------------------------------------------------------
SoundChannel
屬性:
position : Number
//[read-only] 播放磁頭目前在聲音中的位置
soundTransform : SoundTransform
//指定給聲道的 SoundTransform 物件
leftPeak : Number //[read-only] 左聲道目前音量,從 0 ~ 1
rightPeak : Number [read-only] 右聲道目前音量,從 0 ~ 1
方法:
stop():void //會停止在聲道中播放的聲音。
-------------------------------------------------------
SoundTransform
屬性:
pan : Number
//聲音的左至右相位,範圍介於 -1(左) ~ 1(右) 之間
volume : Number
//音量,範圍介於 0 ~ 1 之間
leftToLeft : Number //介於 0 ~ 1 之間的值,指定在左喇叭中播放左邊輸入的量
leftToRight : Number //介於 0 ~ 1 之間的值,指定在右喇叭中播放左邊輸入的量
rightToLeft : Number //介於 0 ~ 1 之間的值,指定在左喇叭中播放右邊輸入的量
rightToRight : Number //介於 0 ~ 1 之間的值,指定在右喇叭中播放右邊輸入的量
方法:
SoundTransform(vol:Number = 1, panning:Number = 0)
//會建立 SoundTransform 物件
--------------------------------------------------
使用範例:
//背景音樂
var bgm1File:URLRequest = new URLRequest("sound/bgm1.mp3");
var bgm1Sound:Sound = new Sound();
var bgml:SoundChannel;
var bgm1Transform:SoundTransform = new SoundTransform(1,0);
bgm1Sound.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
bgm1Sound.load(bgm1File);
bgml = bgm1Sound.play(0,999,bgm1Transform);
沒有留言:
張貼留言