分享
 
 
 

仙乐飘飘——打造自己的音乐播放器

王朝other·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

提到音乐播放器,大家很自然地会想起Winnamp,不过我一直想做一个属于自己的音乐播放器,但是我不会VB或C语言,怎么办呢?幸好,对多媒体制作大师Authorware我还是比较熟悉的,于是我就开始捉摸用Authorware来DIY一个音乐播放器,经过一番尝试,终于实现了一些基本功能,好东东不敢独享,在此与诸位一起分享。

实现功能:

1、自动取得指定目录下的音乐文件;

2、按顺序循环播放或乱序播放;

3、支持mp3和swa文件格式的音乐文件,实时显示正在播放的音乐文件名。

由于这儿用到了列表函数,因此为了看懂源程序,大家最好先查一查列表函数的用法,在这儿就不再详细叙述了,很多的Authorware论坛上都有介绍。

实现过程:

在动手做之前,我们先来看看这个程序完成后的总流程图(见图1),这样可以使我们有一个初步的总体印象。

1、打开Authorware新建一个“音乐播放器”文件,然后按总流程图所示将图标依次拖放到流程线上,分别给图标命名(提示:这个习惯很重要,它可以让我们能更快的读懂源程序,便于以后修改。),其中条件交互设置条件为:MediaPlaying@"bMP3"=FALSE,表示当bMP3声音图标不在播放、暂停或播放完毕后响应该条件交互,执行该交互下的分支。交互属性设为:永久响应,分支为“返回”。

2、打开“信息”显示图标,在适当位置输入:{rFilename[j_a]},注意,大括号必须在英文状态下输入,并将显示图标属性设置为:更新变量显示。

3、打开“获取文件名”计算图标,在其中输入以下内容:

--取得文件列表,假设所有的音乐文件放在music文件夹中

FileString:=Catalog(FileLocation^"music","F")

--取得文件个数

FileNumber:=LineCount(FileString,Return)

--取得文件后缀名并筛选出mp3、swa文件名存到一维列表rFileName中。

repeat with i:=1 to FileNumber

FileNames:=GetLine(FileString,i)

FileFix:=SubStr(FileNames,RFind(".",FileNames)+1,CharCount(FileNames))

if FileFix="mp3" then

j_a:=j_a+1

rFileName[j_a]:=FileNames

else if FileFix="swa"then

j_a:=j_a+1

rFileName[j_a]:=FileNames

end if

end repeat

j_a:=1

path:=FileLocation^"music\"^tFileName[j_a] --该变量用于存放要播放的音乐文件的路径,在声音图标中用到。

注:rFileName和后面的tFileName的初始变量值为[],否则不能播放音乐,其他默认即可。

4、对声音图标作如下设置:文件路径设为“=path”(注意:在变量path前一定要加一个等号,否则变量不起作用。这一技巧还可以在其它的图标中灵活运用。),执行方式为“同时”,播放次数为1次,设置好后确定退出。

5、打开条件交互分支下的计算图标,在其中输入以下内容:

j_a:=j_a+1

if j_a>ListCount(rFileName) then

j_a:=1

end if

path:=FileLocation^"music\"^rFileName[j_a]--取得第j_a个文件名及其路径

MediaPlay(IconID@"bMP3")

如果要实现乱序播放则在该计算图标中输入:

DeleteAtIndex(tFileName, j_a)

if ListCount(tFileName)=0 then

tFileName:=CopyList(rFileName)

index:= FindValue(tFileName, t_name)

DeleteAtIndex(tFileName, index)

end if

j_a:=ListCount(tFileName)

j_a:=Random(1,j_a,1)

path:=FileLocation^"music\"^tFileName[j_a]

MediaPlay(IconID@"bMP3")

t_name:=tFileName[j_a]

并将“获取文件名”计算图标中的最后两行改为:

tFileName:=CopyList(rFileName)

j_a:=Random(1,j_a,1)

path:=FileLocation^"music\"^tFileName[j_a]

显示图标中的内容也应改为:{rFilename[j_a]}。

好了,至此一个音乐播放器的雏形就产生了,保存后运行一下看看(要保证指定目录下有音乐文件),还不赖吧?呵呵……那能不能对院程序进行改进,实现如Winamp的部分功能呢?经过摸索,完全可以。大家看图2,这是我制作的一个完整的音乐播放器

(大家可以去我的网页上下载下来体验一下,网址是:http://netauth.yeah.net),它可以实现动态显示歌名、播放、暂停、停止、选曲以及播放时间和进度等功能,而这些功能的实现完全是用Authorware提供的内部函数完成的。由此可见,Authorware不仅只适用于制作课件或多媒体演示,只要有足够的创意,你就可以做出令人意想不到作品。

听着美妙的音乐由自己制作的音乐播放器中播出,享受着自己的DIY成果,正是仙乐飘飘呀!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有