下一頁 1 2 3 4 5 6 7
本JavaScipt教程將讓你感受到FLASH給您帶來有聲世界的無窮魅力。
在開始本教程之前,我先介紹一下本教程涉及到的內容:隱藏嵌入的SWF、 播放流同步的SWF、 從指定的幀上開始流、 停止和播放流、 檢查是否磁道在播放、 檢查是否播放器準備好、 檢查SWF轉載的百分比、驗證SWF是否完全裝載好、檢查播放器的版本號、設置最小的播放器版本號、 清除錯誤信息等等。好吧,開始我們的教程吧。
隱藏嵌入的SWF
FlashSound的JavaScript API往網頁插入一個FlashSound對象,隨同插入還有embedSWF()方法。但是在網頁中我們為什么不能看到這個對象呢?哦,原來是FlashSound隱藏了這個對象。在Internet瀏覽器中,FlashSound是這個對象變得透明,也就是說你看不到這個對象,但實際上它是存在的。而在Netscape瀏覽器中,這個對象的顏色被指定為跟網頁相同的顏色,所以你也看不到它。你可以在Netscape瀏覽器中通過使用bgcolor屬性來設置對象的顏色。以上兩種方法正是隱藏對象的核心所在。試一試吧,下面我的代碼是實現當鼠標移過對象時播放scale.swf文件,所以我們這樣來創建FlashSound對象:
<SCRIPT>
mySoundObj.bgcolor = "#0000ff";
mySoundObj.embedSWF("scale.swf");
</SCRIPT>
下面的代碼可以讓你在Netscape瀏覽器中看到在“Play a Scale”下面有一個小點,它正是我們創建的FlashSound,因為此時它的顏色不是與網頁的背景色相同,看看代碼吧:
<HTML>
<HEAD>
<SCRIPT SRC="flashsound.js"></SCRIPT>
<SCRIPT>
var mySoundObj = new FlashSound();
</SCRIPT>
</HEAD>
<BODY>
<P><A HREF="javascript://"
onmouseover="mySoundObj.TGotoAndPlay('/scale-event', 'start')">
Play a Scale</A>
<SCRIPT>
mySoundObj.bgcolor = "#0000ff";
mySoundObj.embedSWF("scale.swf");
</SCRIPT>
播放流同步的SWF
Flash文件格式支持四種同步的類型:Event(事件)、Start(開始)Stop(停止)和Stream(流)。事件同步允許你同時播放多個磁道的聲音;開始同步可以避免并行的磁道播放;停止同步作用是停止磁道播放;而對于流同步聲音包含了聲音的幀尺寸樣式,它可以反復地天衣無縫地播放。不象其它真實的流聲音格式(比如Real Audio),Flash流文件是在播放的時候裝載到瀏覽器中去的。當播放結束的時候,這個流聲音就全部被裝載瀏覽器的高度緩沖區中。所以在接下去的播放是來源與瀏覽器的告訴緩沖區,而不是來源于網頁。
以下的連接是播放一個流同步,它解釋了FlashSound的JavaScript API,代碼如下:
<HTML>
<HEAD>
<SCRIPT SRC="flashsound.js"></SCRIPT>
<SCRIPT>
var mySoundObj = new FlashSound();
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT>
mySoundObj.embedSWF("earsonly.swf");
</SCRIPT>
</BODY>
</HTML>
這里值得注意的是Flash聲音被設置在Flash編輯器中來自動開始播放。