提到音乐播放器,大家很自然地会想起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
[1] [2] [3] 下一页
新闻热点
疑难解答