在Flash制作时,有时候为了更灵活、方便,我们可以直接调入外部文本文件
![](/icons/18295dou2.gif)
要修改时只要修改记事本里
![](/icons/18295de.gif)
文本并保存,无需打开Flash源文件对其修改
![](/icons/18295dou2.gif)
例如
![](/icons/18295dou.gif)
我们要制作
![](/icons/18295yi.gif)
个网络mp3播放器
![](/icons/18295dou.gif)
网络mp3
![](/icons/18295de.gif)
地址和曲名我们都可以保存在
![](/icons/18295yi.gif)
个文本中
![](/icons/18295dou.gif)
要添加或者修改网络mp3
![](/icons/18295de.gif)
地址或曲名
![](/icons/18295dou.gif)
我们只需要在这个文本进行编辑就可以了
![](/icons/18295dou2.gif)
![](http://www.crazycoder.cn/WebFiles/20091/d0d7c9ce-94e4-4a60-a0cf-06211f2dd3af.g<img src='/icons/18295if.gif' />)
源文件下载
本节知识要点 1、LoadVars 类
LoadVars 类是 loadVariables
![](/icons/18295hanshu.gif)
![](/icons/18295de.gif)
替代思路方法
![](/icons/18295dou.gif)
用于在 Flash 应用
![](/icons/18295chengxu.gif)
和服务器的间传输变量
![](/icons/18295dou2.gif)
可以使用 LoadVars 类在下载时获取成功数据加载、进度指示和流数据
![](/icons/18295de.gif)
验证信息
![](/icons/18295dou2.gif)
2、LoadVars.load
![](/icons/18295kh.gif)
LoadVars类
![](/icons/18295de.gif)
思路方法
![](/icons/18295dou.gif)
my_lv.load(url):从指定
![](/icons/18295de.gif)
URL 下载变量
![](/icons/18295dou.gif)
分析变量数据
![](/icons/18295dou.gif)
并将结果变量放在 my_lv 中
![](/icons/18295dou2.gif)
3、LoadVars.onLoad
LoadVars类
![](/icons/18295de.gif)
事件处理
![](/icons/18295hanshu.gif)
![](/icons/18295dou.gif)
使用方法:
my_lv.onLoad = function(success) {
// 此处是您
语句
}
success 该参数指示加载操作是成功完成 (true) 还是以失败结束 (false)
![](/icons/18295dou2.gif)
如果该操作成功
![](/icons/18295dou.gif)
my_lv 将填充为该操作所下载
![](/icons/18295de.gif)
变量
![](/icons/18295dou.gif)
而这些变量将在
![](/icons/18295diaoyong.gif)
此处理
![](/icons/18295hanshu.gif)
时变为可用
![](/icons/18295dou2.gif)
4、my_str.split("delimiter", [limit])
拆分
![](/icons/18295zifu.gif)
或
![](/icons/18295zifu.gif)
串
![](/icons/18295de.gif)
思路方法
![](/icons/18295dou2.gif)
delimiter 拆分 my_str 所依据
![](/icons/18295de.gif)
![](/icons/18295zifu.gif)
或
![](/icons/18295zifu.gif)
串
![](/icons/18295dou2.gif)
limit 要放入
![](/icons/18295shuzu.gif)
中
![](/icons/18295de.gif)
项目数
![](/icons/18295dou2.gif)
此参数是可选
![](/icons/18295de.gif)
![](/icons/18295dou2.gif)
在指定
![](/icons/18295de.gif)
delimiter 参数出现
![](/icons/18295de.gif)
所有位置断开 String 对象
![](/icons/18295dou.gif)
将其拆分为多个子
![](/icons/18295zifu.gif)
串
![](/icons/18295dou.gif)
然后以
![](/icons/18295shuzu.gif)
形式返回这些子
![](/icons/18295zifu.gif)
串
![](/icons/18295dou2.gif)
5、my_sound.loadSound("url", isStreaming)
思路方法;将 MP3 文件加载到 Sound 对象中
![](/icons/18295dou2.gif)
可以使用 isStreaming 参数指示该声音是事件声音(false)还是声音流(true)
![](/icons/18295dou2.gif)
事件声音在完全加载后才能播放;声音流在下载
![](/icons/18295de.gif)
同时播放
![](/icons/18295dou2.gif)
当接收
![](/icons/18295de.gif)
数据足以启动解压缩
![](/icons/18295chengxu.gif)
时
![](/icons/18295dou.gif)
播放开始
![](/icons/18295dou2.gif)
6、Sound.onSoundComplete使用方法:
my_sound.onSoundComplete = function
{
// 此处是您
语句
}
事件处理
![](/icons/18295hanshu.gif)
;当声音播放完时自动
![](/icons/18295diaoyong.gif)
![](/icons/18295dou2.gif)
您可以使用此处理
![](/icons/18295hanshu.gif)
在声音播放完毕后触发 SWF 文件中
![](/icons/18295de.gif)
事件
例题--简单网络mp3播放器 ![](http://www.crazycoder.cn/WebFiles/20091/a463a97e-d5d3-48e8-8d4a-d7ff6a7dbff9.g<img src='/icons/18295if.gif' />)
点击查看动画效果<
制作思路:
1、把网络mp3
![](/icons/18295de.gif)
地址和对应曲名分别作为
![](/icons/18295yi.gif)
个
![](/icons/18295zifu.gif)
变量保存在文本文件中
![](/icons/18295dou.gif)
把两个mp3
![](/icons/18295de.gif)
地址的间用“,”隔开
![](/icons/18295dou.gif)
两个曲名的间也用“,”隔开;
2、再用loadVars类
![](/icons/18295de.gif)
事件处理
![](/icons/18295hanshu.gif)
my_lv.onLoad把这个文本中
![](/icons/18295de.gif)
两个变量调入my_lv中;
3、然后把my_lv中
![](/icons/18295de.gif)
两个变量利用my_str.split("delimiter", [limit])根据“,”分拆为两个
![](/icons/18295shuzu.gif)
(网络mp3
![](/icons/18295de.gif)
地址和曲名);
4、利用my_sound.loadSound("url", isStreaming)从网络mp3
![](/icons/18295de.gif)
地址
![](/icons/18295de.gif)
![](/icons/18295shuzu.gif)
中加载mp3;用动态文本显示从曲名
![](/icons/18295de.gif)
![](/icons/18295shuzu.gif)
中选择出
![](/icons/18295de.gif)
对应曲名;
5、用Sound事件处理
![](/icons/18295hanshu.gif)
my_sound.onSoundComplete
![](/icons/18295dou.gif)
在播放完
![](/icons/18295yi.gif)
曲后
![](/icons/18295dou.gif)
自动加载下
![](/icons/18295yi.gif)
曲
![](/icons/18295dou2.gif)
注意:外部文本文件应该和加载它
![](/icons/18295de.gif)
swf文件在同
![](/icons/18295yi.gif)
文件夹下
![](/icons/18295dou.gif)
或者在同
![](/icons/18295yi.gif)
网络下
![](/icons/18295dou2.gif)
打开3.10.fla文件:
在第1帧上
![](/icons/18295de.gif)
AS脚本:
.useCodepage = true;
//使用运行播放器
操作系统
传统代码页来解释外部文本文件
避免出现乱码
ming =
; //定义(歌名)![](/icons/18295shuzu.gif)
dizhi =
; //定义mp3
网络地址![](/icons/18295shuzu.gif)
var myLoad =
LoadVars
;//定义LoadVars这个类
myLoad.load("yinyue.txt"); //指定LoadVars载入yinyue.txt这个文件
myLoad.onLoad = function(success) { //载入LoadVars类
事件处理![](/icons/18295hanshu.gif)
(success) { //如果载入成功
dizhi = this.dizhi.split(",");
//把存入myLoad
外部文本yinyue.txt中变量dizhi中以“
”分隔
部分作为
dizhi
元素
ming = this.geming.split(","); //同上类似
shu = ming.length; //用变量shu保存
ming
长度
}
};
mySound =
Sound
; //创建 Sound 对象![](/icons/18295dou2.gif)
i = 0; //
化变量i
function diaoyy(gm, mp3) { //设置自定义![](/icons/18295hanshu.gif)
![](/icons/18295dou.gif)
名为diaoyy
bian = i+1+"."; //给动态文本赋值(歌曲编号)
txt = gm; //给动态文本赋值(歌曲名)
mySound.stop
; //停止前面
播放
mySound.loadSound(mp3, true);//按声音流调网络歌曲mp3
mySound.start
; //开始播放调入
网络歌曲mp3
mySound.onSoundComplete = function
{ //当音乐播放完毕时执行下面
命令
i
;
(i
shu) { //变量i等于歌曲总数时
i = 0;
}
diaoyy(ming[i], dizhi[i]); //调自定义
(歌曲名
网络地址)
};
}
在“播放”按扭上
![](/icons/18295de.gif)
AS脚本:
on (release) {
diaoyy(ming[i], dizhi[i]); //调自定义
(歌曲名
网络地址)
}
作业 1、由3.9.fla文件上其它几个按扭添加脚本(根据按扭名称)
![](/icons/18295dou.gif)
使这个播放器增加随机播放和顺序播放;播放上
![](/icons/18295yi.gif)
曲或者下
![](/icons/18295yi.gif)
曲;暂停和停止功能
![](/icons/18295dou.gif)
如下图
![](http://www.crazycoder.cn/WebFiles/20091/a463a97e-d5d3-48e8-8d4a-d7ff6a7dbff9.g<img src='/icons/18295if.gif' />)
点击查看动画效果<
2、由3.9.fla文件进行改动
![](/icons/18295dou.gif)
使播放器有下图所具有
![](/icons/18295de.gif)
功能.
![](http://www.crazycoder.cn/WebFiles/20091/a463a97e-d5d3-48e8-8d4a-d7ff6a7dbff9.g<img src='/icons/18295if.gif' />)
点击查看动画效果<
![](http://www.crazycoder.cn/WebFiles/20091/d7b74de2-7173-4557-91a7-952d6bb99a60.g<img src='/icons/18295if.gif' />)
查看全套"Flash AS 高级教程"