快速业务通道

用FLASH做简单MP3播放器

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-12


开场白
上网多了,常看到好多网页中有用Flash做的播放器!有它加在网页中确实给整个页面增加了不少气氛!学FLASH的新手们看到了当然想自己也亲自做个喽!对不!我也是其中之一哦哈!
开始制作
我的思路:
1:由于要放在网页上的所以播放器SWF文件要小,也就是说MP3歌曲文件要从外部加载!
2:能实现: A 打开网页时能自动加载第一首歌并播放;播放完后自动播放下一首;播放完最后一首能回到第一首;
B 有六首歌的按钮任浏览者可直接选择其一并播放;
C 有个动态字幕,能显示当前歌曲的曲目;
D 有能实现暂停、继续、下一首、上一首的四个按钮和音量控制按钮; —OK!有了思路就画播放器界面吧!如下图,我画的比较简单,朋友们可以自己发挥画个有个性的属于你的界面吧!
点击浏览该文件 按此在新窗口浏览图片

加载歌曲和实现字幕实时滚动的代码我放在帧上!我共用两帧来实现! 界面上的每个按钮实现的功能的代码我分别放在各自的按钮上! 第一帧我主要用来实现字幕的实时滚动和实时的音量大小!
第二帧就是加载外部MP3,和实时判断歌曲放完后自动放下一首! 第一帧代码如下:
onLoad = function () {
sname = 1;// 声明歌曲序号变量,后面要用到它;比如下面要用到它来实现字幕的内容还有第二帧要用它来确定要播放哪首歌;
count = 0;// 在AS2.0里就必须加这句; AS1.0就不用;意思也是声明变量,在实现字幕的滚动时用到;
};
//以下代码只用于实现字幕的滚动 加载声音的代码我全放到第二帧上了
function loaded() {//自定义调用函数loaded()以便以后调用,
_root.onEnterFrame = function() {
_root.mySound.setVolume(_root.Msound.Bsound._x);
//这句代码是实时获取声音的大小,本来我是放在控制音量的按钮上的,但发有BUG!因为同时用两个onEnterFrame会产生冲突!
count += 1;
show = mbsubstring(this["text"+sname], count-15, count);//这句就是让字幕滚动;注意这里的"show"!它来自动态文本框的变量名!
if (count>mblength(this["text"+sname])-8) {//这个if用于判断字幕滚完后又从头开始滚动;
count = 0;
}
};
}
loaded();//调用刚才定义好的函数!在播放也会调用到!
//以下是定义动态字幕要显示的内容!
text1 = "当前曲目为——明年今日--陈弈迅 ";
text2 = "当前曲目为——冲动的惩罚--刀郎 ";
text3 = "当前曲目为——爱就爱了 -- 陈琳 ";
text4 = "当前曲目为——好心分手 --王力宏 ";
text5 = "当前曲目为——栀子花开 - 何 炅 ";
text6 = "当前曲目为——七里香 -- 周杰伦 ";
第二帧代码如下: if (sname<=6) {
mySound.stop();// 没有这句,在歌曲未放完的时候按播放按钮加载新的歌曲会出现两首叠放的BUG!
mySound = new Sound();// 声明mySound为新的声音
mySound.loadSound("sound/s"+sname+".mp3", true);// 从外部加载声音;请注意路径和文件名!
mySound.start();// 加载完毕后开始播放
stop();// 场景停在第二帧
mySound.onSoundComplete = function() {
sname = sname+1;
gotoAndPlay(1); // 判断声音放完后,变量sname加1,场景跳到第三帧播放,即播放下一首;
};
} else {
sname = 1;//实现播六首后回到第一首;
}
播放按钮上的代码如下: on (release) {
loaded();//调用刚才定义好的函数!在播放也会调用到!
mySound.stop();// 没有这句,在歌曲未放完的时候按反复按播放按钮会出现多首叠放的BUG!
soundposition = mysound.position/1000;// 获得声音已播放的毫秒数;除以1000是因为场景中加载声音是以秒为单位;
mySound.onLoad = function() {
mySound.start(soundposition, 1);
};//实现声音从暂

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号