原文出處:http://www.bluegelmedia.com 原作者:Brett E. Yokom / killersound, Inc 翻譯:Jimbob
概要
本書介紹“NULLSOUND”stream技術(shù)的詳細(xì)說明。該技術(shù)可以比傳統(tǒng)的聲音stream技術(shù)節(jié)約90%的文件體積大小,并保持聲音和動(dòng)畫完全同步。
序言
我們先從Macromdeia Flash原有的技術(shù)的總覽開始講,后面再來描述具體實(shí)現(xiàn)的方法。 現(xiàn)在的互聯(lián)網(wǎng)中,動(dòng)畫網(wǎng)站正在迅速的增長(zhǎng)。人們已經(jīng)不再滿足于使用奇特的矢量造型,漂亮的顏色和動(dòng)畫,你還必須創(chuàng)造很酷的音樂和音效來吸引訪問者的注意。以前的Flash設(shè)計(jì)師(1998/1999)只是利用簡(jiǎn)單的循環(huán)音效來打破沉默的web世界,接著,這些循環(huán)音效變得越來越復(fù)雜,結(jié)果造成了文件體積增大,增加了下載的時(shí)間。同時(shí),市場(chǎng)上也產(chǎn)生了這樣的需求:一些優(yōu)秀的動(dòng)畫(例如在電視上播放的廣告),要求圖像必須和音樂以及音效完全同步。但是Flash里面的聲音,能同時(shí)滿足這些要求么:既要小文件體積,又要和圖像同步?Macromedia 提供的解決方案就是把聲音設(shè)置成Stream方式。
這種方式是很有用的,基于以下兩個(gè)方面原因:
1.Flash 播放器不需要一直等到所有的聲音全部下載完成才繼續(xù)播放,只要下載一部分預(yù)先緩沖的聲音,就可以馬上開始播放了。這有點(diǎn)類似于Real以及Microsoft media player用的流媒體技術(shù)。這項(xiàng)技術(shù)在寬帶接入的互聯(lián)網(wǎng)用戶上表現(xiàn)很好,但是對(duì)56k以及以下?lián)芴?hào)用戶,則會(huì)出現(xiàn)問題: 這些用戶可以在flash沒有完全下載時(shí)開始觀看,但是隨時(shí)都可能因?yàn)閹挷粔蚨斐蓜?dòng)畫的停止,最好是等所有的都全部下載完以后,再開始播放它。
2.使用stream方式可以保持絕對(duì)的播放幀率。 如果你不使用stream方式,設(shè)置flash 的fps幀率設(shè)置為25,那么這并不意味著Flash將一直以25幀/秒的速度播放,實(shí)際的幀率將取決于你的CPU,CPU越強(qiáng),則實(shí)際播放幀率越接近于預(yù)設(shè)的值。舉個(gè)例子說就是你在奔騰166機(jī)器上播放的幀率為8~9,而用奔III-500播放的幀率則達(dá)到22。理論上講,如果你設(shè)置幀率為25,那么CPU只有1/25秒的時(shí)間來計(jì)算播放一幀所需要的所有元素。如果CPU的速度達(dá)不到這個(gè)要求,比如它可能花上1/5秒的時(shí)間來計(jì)算,那么實(shí)際的fps就會(huì)降低為 5 fps,如果你的Flash包含100幀,那么理論上播放完只要4秒,而實(shí)際上播放需要20秒,flash播放變慢了。 解決方案就是使用stream方式的聲音!在主時(shí)間線上使用stream方式的聲音,將告訴flash播放器:“你必須保持聲音的播放速度,播放變慢是不允許的!” 結(jié)果,不但聲音,圖形的播放速度也一樣保持了同步。那么一個(gè)速度低的CPU能用25的幀率處理完所有的數(shù)據(jù)么?答案是: 不可能。 速度的保持是虛擬的,CPU采用忽略未處理的幀來保持幀率的穩(wěn)定,例如上面提到的例子,用這種方式處理的話,F(xiàn)lash中只有1/5的幀能被顯示,其他都被忽略了(這樣在某些情況下,可能造成明顯的跳幀現(xiàn)象)。
在本書里,我們并不想專門來討論如何使用聲音的event方式或者stream方式,介紹這類的文章可以在 www.macromedia.com或者 www.flashmagazine.com 等地方找到。我們所感興趣的是:如何更深入的應(yīng)用這些知識(shí)。
出處:藍(lán)色理想
責(zé)任編輯:jimbob
上一頁 下一頁 NullSound技術(shù) 二
◎進(jìn)入論壇Flash專欄版塊參加討論
|