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

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