as3 使用sound類(翻譯)-獲取文件大小

 [1b]問題六[/1b]
       我們想創建一個聲音文件加載情況的進度條,這就要求我們能獲取文件的大小,及已經下載了多少了。
[1b]解決方法[/1b]
       訪問sound對象的bytesTotal 和bytesLoaded屬性。
[1b]具體討論[/1b]
[color="#ffffff"]成業原創,轉載說明出處 http://hi.baidu.com/flash_as3[/color]
       對於流式的音頻文件,讓用戶知道目前已經下載了多少數據是個不錯的想法。理想情況是:聲音文件的下載速度比播放速度快,這樣就不會在播放的時候暫停。但是,在不穩定的網絡和帶寬比較窄的情況下,如果聲音文件的編碼率比較高,就很難保證緩衝區裏總是非空的,也就很難保證不會出現暫停。
[color="#ffffff"]成業原創,轉載說明出處 http://hi.baidu.com/flash_as3[/color]
       因此,用進度條來向用戶展示目前聲音的加載和播放情況是一個不錯的選擇。你也許看過很多流媒體播放器的進度條,比如Windows Media Player或QuickTime Player。通常,會有一個進度條表示音樂的播放進度,進度條的背景色是白色的,前景有一個黑色的進度條表示目前播放的位置,另外,還有一個灰色的進度條表示目前緩衝區的情況。當灰色的進度條(緩衝buffer)比黑色的進度條(當前播放位置play position)長的時候,我們知道文件播放很流暢;當黑色的進度條趕上灰色的進度條的時候,媒體會停止播放,灰色進度條繼續變長,繼續向緩衝區加載數據,當它足夠長的時候,媒體會繼續播放,黑色進度條會繼續移動,這時灰色進度條就有希望一直領先了。
[color="#ffffff"]成業原創,轉載說明出處 http://hi.baidu.com/flash_as3[/color]
       本文教你如何實現創建上面提到的灰色進度條和白色背景(以後我們將學習如何創建黑色進度條),要用到聲音對象的兩個屬性
[color="#ff6666"]bytesTotal[/color]

[color="#ff6666"]bytesLoaded[/color]
,這些屬性的含義相當明瞭:bytesTotal 包含mp3文件總長度的信息,bytesLoaded包含當前已經下載了多少數據的信息。有了這兩個值,我們就有了數據下載的百分比。
[color="#ffffff"]成業原創,轉載說明出處 http://hi.baidu.com/flash_as3[/color]
       下面的例子設定了enterFrame的處理函數,讓影片每播放一幀就重新計算當前下載百分比,然後根據這個繪製進度條。
[color="#ffffff"]成業原創,轉載說明出處 http://hi.baidu.com/flash_as3
[/color]
本文轉自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/1917.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章