瞭解聲音架構
Flash Player 9 以及更新的版本,Adobe AIR 1.0 以及更新的版本
應用程式可以從五個主要來源載入聲音資料:
聲音資料可以在播放之前完全載入,也可以藉由串流方式載入 (也就是在播放的同時仍然會繼續載入作業)。
ActionScript 3.0 聲音類別支援儲存格式為 MP3 的聲音檔案。它們無法直接載入或播放具有 WAV 或 AIFF 等其它格式的聲音檔案。不過,從 Flash Player 9.0.115.0 開始,您可以使用 NetStream 類別載入和播放 AAC 音效檔案。這項技巧與用來載入和播放視訊內容的技巧相同。如需有關這項技巧的詳細資訊,請參閱使用視訊。
使用 Adobe Flash Professional 時,您可以匯入 WAV 或 AIFF 聲音檔案,然後以 MP3 格式將它們嵌入應用程式的 SWF 檔中。Flash 編寫工具也能讓您壓縮嵌入的聲音檔案,以縮減檔案大小,但是縮減大小之後,聲音品質便會降低。如需詳細資訊,請參閱「使用 Flash」中的「匯入聲音」。
ActionScript 3.0 聲音架構會利用 flash.media 套件中的下列類別。
類別
|
說明
|
flash.media.Sound
|
Sound 類別會處理聲音的載入作業、管理基本的聲音屬性,以及開始播放聲音。
|
flash.media.SoundChannel
|
當應用程式播放 Sound 物件時,會建立新的 SoundChannel 物件以控制播放作業。SoundChannel 物件會控制聲音左右播放聲道的音量。每個聲音都會播放屬於自己的 SoundChannel 物件。
|
flash.media.SoundLoaderContext
|
SoundLoaderContext 類別可指定在載入聲音時要使用的緩衝秒數,以及指定在載入檔案時,Flash Player 或 AIR 是否要從伺服器尋找原則檔案。SoundLoaderContext 物件是用來當做 Sound.load() 方法的參數。
|
flash.media.SoundMixer
|
SoundMixer 類別可控制與應用程式中所有聲音都相關的播放和安全性屬性。事實上,多個聲道會透過共通的 SoundMixer 物件混合在一起,因此在 SoundMixer 物件中的屬性值將會影響所有目前正在播放的 SoundChannel 物件。
|
flash.media.SoundTransform
|
SoundTransform 類別含有控制音量和左右相位的值。此外,SoundTransform 物件還可以套用至個別的 SoundChannel 物件、全域 SoundMixer 物件或是 Microphone 物件。
|
flash.media.ID3Info
|
ID3Info 物件包含代表 ID3 中繼資料資訊的屬性,該資訊通常儲存在 MP3 聲音檔案中。
|
flash.media.Microphone
|
Microphone 類別代表連接到使用者電腦的麥克風或其它聲音輸入裝置。麥克風的音效輸入可以遞送至本機喇叭或傳送至遠端伺服器。Microphone 物件會控制屬於自己的聲音串流之增量、取樣頻率和其它特性。
|
每個載入和播放的聲音都需要屬於自己的 Sound 類別實體和 SoundChannel 類別實體。接著,在播放期間,多個 SoundChannel 實體的輸出就會由全域 SoundMixer 類別加以混合。
Sound、SoundChannel 和 SoundMixer 類別不會用於從麥克風或從像是 Flash Media Server 等串流媒體伺服器取得的聲音資料。