使用串流聲音檔案
Flash Player 9 以及更新的版本,Adobe AIR 1.0 以及更新的版本
當聲音或視訊檔案在其資料仍然繼續載入期間就已播放,即稱為「串流」。從遠端伺服器載入的外部聲音檔案通常會進行串流。如此一來,使用者就不必等到所有聲音資料載入之後才能聽到聲音。
SoundMixer.bufferTime
屬性代表 Flash Player 或 AIR 在播放聲音之前,應該取得的聲音資料毫秒數。換句話說,如果
bufferTime
屬性設定為 5000,Flash Player 或 AIR 就會從聲音檔案載入至少 5000 毫秒的資料,才開始播放聲音。預設的
SoundMixer.bufferTime
值是 1000。
您可以在載入聲音時明確地指定新的
bufferTime
值,讓應用程式覆寫個別聲音的全域
SoundMixer.bufferTime
值。若要覆寫預設的緩衝時間,請先建立 SoundLoaderContext 類別的新實體、設定其
bufferTime
屬性,然後將它當做參數傳遞給
Sound.load()
方法,如下所示:
import flash.media.Sound;
import flash.media.SoundLoaderContext;
import flash.net.URLRequest;
var s:Sound = new Sound();
var req:URLRequest = new URLRequest("bigSound.mp3");
var context:SoundLoaderContext = new SoundLoaderContext(8000, true);
s.load(req, context);
s.play();
當播放繼續時,Flash Player 和 AIR 會嘗試將聲音緩衝維持在相同的大小或更大。如果聲音資料載入的速度比播放速度還快,播放將會繼續而不會中斷。不過,如果資料載入速率因為網路限制而慢下來,則播放磁頭可能會達到聲音緩衝區的結尾。如果發生此情況,播放就會暫停,但是一旦有更多聲音資料載入,它就會自動繼續。
若要得知播放是否因為 Flash Player 或 AIR 在等待資料載入而暫停,請使用
Sound.isBuffering
屬性。
|
|
|