Flash AS 入門教程 調(diào)入外部文本和加載外部mp3文件

例如,我們要制作一個網(wǎng)絡(luò)mp3播放器,網(wǎng)絡(luò)mp3的地址和曲名我們都可以保存在一個文本中,要添加或者修改網(wǎng)絡(luò)mp3的地址或曲名,我們只需要在這個文本進(jìn)行編輯就可以了。源文件下載
本節(jié)知識要點
1、LoadVars 類
LoadVars 類是 loadVariables() 函數(shù)的替代方法,用于在 Flash 應(yīng)用程序和服務(wù)器之間傳輸變量。可以使用 LoadVars 類在下載時獲取成功數(shù)據(jù)加載、進(jìn)度指示和流數(shù)據(jù)的驗證信息。
2、LoadVars.load()
LoadVars類的方法,my_lv.load(url):從指定的 URL 下載變量,分析變量數(shù)據(jù),并將結(jié)果變量放在 my_lv 中。
3、LoadVars.onLoad
LoadVars類的事件處理函數(shù),用法:
my_lv.onLoad = function(success) {
// 此處是您的語句
}
success 該參數(shù)指示加載操作是成功完成 (true) 還是以失敗結(jié)束 (false)。如果該操作成功,my_lv 將填充為該操作所下載的變量,而這些變量將在調(diào)用此處理函數(shù)時變?yōu)榭捎谩?/p>
4、my_str.split("delimiter", [limit])
拆分字符或字符串的方法。delimiter 拆分 my_str 所依據(jù)的字符或字符串。limit 要放入數(shù)組中的項目數(shù)。此參數(shù)是可選的。
在指定的 delimiter 參數(shù)出現(xiàn)的所有位置斷開 String 對象,將其拆分為多個子字符串,然后以數(shù)組形式返回這些子字符串。
5、my_sound.loadSound("url", isStreaming)
方法;將 MP3 文件加載到 Sound 對象中??梢允褂?isStreaming 參數(shù)指示該聲音是事件聲音(false)還是聲音流(true)。事件聲音在完全加載后才能播放;聲音流在下載的同時播放。當(dāng)接收的數(shù)據(jù)足以啟動解壓縮程序時,播放開始。
6、Sound.onSoundComplete用法:
my_sound.onSoundComplete = function(){
// 此處是您的語句
}
事件處理函數(shù);當(dāng)聲音播放完時自動調(diào)用。您可以使用此處理函數(shù)在聲音播放完畢后觸發(fā) SWF 文件中的事件。
例題--簡單網(wǎng)絡(luò)mp3播放器
制作思路:
1、把網(wǎng)絡(luò)mp3的地址和對應(yīng)曲名分別作為一個字符變量保存在文本文件中,把兩個mp3的地址之間用“,”隔開,兩個曲名之間也用“,”隔開;
2、再用loadVars類的事件處理函數(shù)my_lv.onLoad把這個文本中的兩個變量調(diào)入my_lv中;
3、然后把my_lv中的兩個變量利用my_str.split("delimiter", [limit])根據(jù)“,”分拆為兩個數(shù)組(網(wǎng)絡(luò)mp3的地址和曲名);
4、利用my_sound.loadSound("url", isStreaming)從網(wǎng)絡(luò)mp3的地址的數(shù)組中加載mp3;用動態(tài)文本顯示從曲名的數(shù)組中選擇出的對應(yīng)曲名;
5、用Sound事件處理函數(shù)my_sound.onSoundComplete,在播放完一曲后,自動加載下一曲。
注意:外部文本文件應(yīng)該和加載它的swf文件在同一文件夾下,或者在同一網(wǎng)絡(luò)下。
打開3.10.fla文件:
在第1幀上的AS腳本:
System.useCodepage = true;
//使用運行播放器的操作系統(tǒng)的傳統(tǒng)代碼頁來解釋外部文本文件,避免出現(xiàn)亂碼
ming = []; //定義(歌名)數(shù)組
dizhi = []; //定義mp3的網(wǎng)絡(luò)地址數(shù)組
var myLoad = new LoadVars();//定義LoadVars這個類
myLoad.load("yinyue.txt"); //指定LoadVars載入yinyue.txt這個文件
myLoad.onLoad = function(success) { //載入LoadVars類的事件處理函數(shù)
if (success) { //如果載入成功
dizhi = this.dizhi.split(",");
//把存入myLoad的外部文本yinyue.txt中變量dizhi中以“,”分隔的部分作為數(shù)組dizhi的元素
ming = this.geming.split(","); //同上類似
shu = ming.length; //用變量shu保存數(shù)組ming的長度
}
};
mySound = new Sound(); //創(chuàng)建 Sound 對象。
i = 0; //初始化變量i
function diaoyy(gm, mp3) { //設(shè)置自定義函數(shù),函數(shù)名為diaoyy
bian = i+1+"."; //給動態(tài)文本賦值(歌曲編號)
txt = gm; //給動態(tài)文本賦值(歌曲名)
mySound.stop(); //停止前面的播放
mySound.loadSound(mp3, true);//按聲音流調(diào)網(wǎng)絡(luò)歌曲mp3
mySound.start(); //開始播放調(diào)入的網(wǎng)絡(luò)歌曲mp3
mySound.onSoundComplete = function() { //當(dāng)音樂播放完畢時執(zhí)行下面的命令
i++;
if (i == shu) { //變量i等于歌曲總數(shù)時
i = 0;
}
diaoyy(ming[i], dizhi[i]); //調(diào)自定義函數(shù)(歌曲名,網(wǎng)絡(luò)地址)
};
}
在“播放”按扭上的AS腳本:
on (release) {
diaoyy(ming[i], dizhi[i]); //調(diào)自定義函數(shù)(歌曲名,網(wǎng)絡(luò)地址)
}
作業(yè)
1、由3.9.fla文件上其它幾個按扭添加腳本(根據(jù)按扭名稱),使這個播放器增加隨機(jī)播放與順序播放;播放上一曲或者下一曲;暫停和停止功能,如下圖。
2、由3.9.fla文件進(jìn)行改動,使播放器有下圖所具有的功能.
相關(guān)文章
flash cs6鼠標(biāo)跟隨效果實現(xiàn)代碼分享
flash cs6想要實現(xiàn)鼠標(biāo)跟隨效果?該怎么制作呢?今天我們就來看看使用as2.0實現(xiàn)鼠標(biāo)跟隨效果的教程,需要的朋友可以參考下2019-05-19- Flash cs6怎么使用代碼輸入中英文文本?Flash cs6中可以使用文字工具直接輸入文本,也可以使用代碼來輸入文本,該怎么使用代碼輸入文本呢?請看下文詳細(xì)的教程,需要的朋友2018-03-11
- flash as3.0抽象類怎么定義? as3.0中有很多抽象類,該怎么定義抽象類和抽象方法呢?下面我們就來看看簡單的例子,需要的朋友可以參考下http://www.dbjr.com.cn/softs/408402.2018-02-28
flash cs6中怎么使用ActionScript3.0?
flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,該怎么使用呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下2018-01-25Flash中怎么實現(xiàn)鼠標(biāo)點擊決定圖像位置?
本教程給大家分享一個Flash小教程,教大家在Flash CS6中怎么實現(xiàn)鼠標(biāo)點擊決定圖像位置?方法很簡單,感興趣的朋友歡迎前來一起分享學(xué)習(xí)2018-01-12- 本教程教腳本之家的ActionScript教程學(xué)習(xí)者在Flash中如何用代碼將圖片放在自己想要的舞臺位置,教程講解的詳細(xì),感興趣的朋友歡迎前來分享學(xué)習(xí)2017-11-20
在Flash CS6中使用with函數(shù)繪制背景圖教程
本教程教腳本之家的ActionScript教程學(xué)習(xí)者如何在Flash CS6中使用with函數(shù)繪制背景圖?教程一步步講解的挺詳細(xì),方法也不難,非常適合Flash新手入門學(xué)習(xí)2017-11-18Flash怎么設(shè)置元件坐標(biāo)?flash使用代碼設(shè)置元件的坐標(biāo)的教程
Flash怎么設(shè)置元件坐標(biāo)?flash中導(dǎo)如的元件需要添加坐標(biāo),該怎么定位元件坐標(biāo)呢?下面我們就來看看flash使用代碼設(shè)置元件的坐標(biāo)的教程,需要的朋友可以參考下2017-10-11- Flash怎么制作來回?fù)u擺的花朵的動畫?Flash中想要給花朵制作一段搖擺的動畫效果,該怎么制作呢?下面我們就來看看詳細(xì)的教程,很簡單,需要的朋友可以參考下2017-05-23
- Flash怎么制作流動七彩色的文字?想要讓文字動起來,該怎么使用flash給文字制作一個流動七彩色的動畫呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下2017-04-23