600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Flash版(迷你音乐播放器mp3Player1.0 Beta1 )附源码

Flash版(迷你音乐播放器mp3Player1.0 Beta1 )附源码

时间:2021-12-24 02:39:32

相关推荐

Flash版(迷你音乐播放器mp3Player1.0 Beta1 )附源码

迷你音乐播放器mp3Player1.0 Beta1

=================

//What's new:

主要功能特色:

1.支持歌曲名称,歌手名称以及专辑等关键字搜索。

2.支持随机搜索(不用输入关键字)。

3.支持播放、暂停和音量调节。

4.搜索结果支持翻页。

5.支持播放进度调节。

6.提供歌手大全由(A-Z)排序,以及流行歌手排行。

7.该程序不需要安装直接运行即可。

8.程序文件大小为1.76M。

9.支持自动过滤过大,无法链接、无法播放的文件。

10.支持精确显示歌曲播放和下载进度。

11.提供歌曲下载到本地,自动命名方便保存。

12.无人值守的自动搜索自动播放功能。

//使用小提示:

=================

1.点击人物眼睛用来切换歌手排行。

2.点击LOGO图标弹出下载歌曲对话框。

3.如果网速过慢时会过滤掉部分歌曲。

源码地址:收到消息的群共享提供免费下载使用!

皮肤更换,本地播放,歌词显示等功能继续开发中...

========================

/*

开发者:

============

黑白人动漫工作室

QQ:86963729

MSN:fcsfms@

Email:syxu@

*/

//所有源代码

/*

学习提示要点:

1.利用搜索引擎获取数据。

2.如何进行数据解析和处理。

3.如何使用List组件。

4.如何使用MediaPlayback组件。

5.综合技术:变量、数组、字符串处理、

监听机制、分页、下载文件以及进度跟踪等。

*/

stop();

//上传下载类

import .FileReference;

//按 Unicode 进行编码

System.useCodepage = true;

//歌曲搜索引擎//

/*选择适合自己的搜索引擎

/

/

http://music./

/

/

/

/mp3s.htm

*/

var mp3_url:String = "/";

//临时记录搜索结果

var mp3Data:String;

//记录搜索所得的歌曲数量

var num:Number = 1;

//页数

var page:Number = 1;

//歌曲ID

var id:Number = 0;

//歌曲总时间

var totaltime:Number = 4000000;

//下载百分比

var pec:Number = 0;

//下载mp3文件路径

var downloadName:String;

//下载mp3文件名称

var downloadData:String;

//为了提高搜索速度先把歌手列表搜索出来存数组里。

var mp3Name = new Array("周杰伦", "S.H.E", "刘德华", "五月天", "张学友", "林俊杰", "李宇春", "王力宏", "蔡依林", "王心凌", "任贤齐", "王菲", "孙燕姿", "信乐团", "郑源", "张韶涵", "韩红", "张靓颖", "张信哲", "罗志祥", "梁静茹", "beyond", "刘若英", "许巍", "伍佰", "邓丽君", "陈楚生", "王杰", "马天宇", "水木年华", "周华健", "5566", "黄家驹", "F.I.R", "许飞", "小虎队", "谢霆锋", "阿杜", "吴克群", "羽泉", "萧亚轩", "张惠妹", "花儿乐队", "潘玮柏", "黎明", "后弦", "孙楠", "张杰", "陈奕迅", "南拳妈妈", "陶喆", "动力火车", "金莎", "张栋梁", "张国荣", "胡彦斌", "杨坤", "陈小春", "张宇", "成龙", "光良", "郭富城", "迪克牛仔", "王栎鑫", "阿木", "莫文蔚", "游鸿明", "郑智化", "品冠", "赵薇", "蔡妍", "周传雄", "那英", "齐秦", "郑秀文", "林志颖", "陈慧琳", "何洁", "谢娜", "李慧珍", "郭德纲", "蔡琴", "田震", "安七炫", "刘欢", "谭咏麟", "陈慧娴", "白雪", "卓依婷", "韩雪", "陈冠希", "刘亦菲", "容祖儿", "Twins", "卫兰", "香香", "阿桑", "宋祖英", "朴树", "屠洪刚", "梅艳芳", "张含韵", "高胜美", "Tank", "赵传", "李圣杰", "李克勤", "古巨基", "安以轩", "罗大佑", "凤凰传奇", "黄征", "张雨生", "腾格尔", "零点乐队", "罗百吉", "梁咏琪", "王强", "范玮琪", "杨丞琳", "老狼", "郑中基", "费玉清", "兄弟联", "李玖哲", "海鸣威", "东来东往", "吴奇隆", "阿牛", "郑伊健", "吴建豪", "汪峰", "183CLUB", "阿宝", "苏有朋", "许茹芸", "F4", "孟庭苇", "戴佩妮", "Rain", "伊能静", "许慧欣", "童安格", "张卫健", "黄义达", "弦子", "黑鸭子", "爱乐团", "陈百强", "温岚", "黄品源", "誓言", "张敬轩", "张震岳", "林忆莲", "姜育恒", "林心如", "杜德伟", "薛之谦", "麻吉弟弟", "安又琪", "周蕙", "徐怀钰", "张柏芝", "金海心", "谢军", "韩磊", "邰正宵", "孙悦", "黄晓明", "范逸臣", "何润东", "黄雅莉", "江美琪", "黄安", "无印良品", "黄立行", "阿里郎", "许冠杰", "黄圣依", "郭峰", "许美静", "袁泉", "萧萧", "李玲玉", "阿朵", "杨钰莹", "叶倩文", "蜜雪薇琪", "黑豹", "杨玉莹", "陈晓东", "许绍洋", "毛阿敏", "李宗盛", "林志炫", "许志安", "草蜢", "潘美辰", "蔡健雅");

//发送URL请求

function loadData(sPost):Void {

var my_lv:LoadVars = new LoadVars();

//发送URL请求

my_lv.load(mp3_url+"m?w="+sPost+"&bg="+page+"&ty=16");

//当数据加载成功时

my_lv.onLoad = function(success:Boolean):Void {

if (success) {

//转义十六进制序列字符串。

var s:String = unescape(my_lv.toString()).toLowerCase();

//首先提取歌曲内容一块

var ay:Array = s.split("<input name=aid");

now = 1;

//解析加载的数据

DataString(ay[1]);

}

};

}

//解析加载的数据

function DataString(s:String):Void {

mp3Data = s;

//如果没找到与搜索内容相关的歌曲信息

if (mp3Data.indexOf(".mp3") == -1) {

musicNum = "没搜索到歌曲";

page = 1;

id = 0;

skey.text = mp3Name[random(mp3Name.length)];

return;

}

//歌曲名称

var mp3NameStr:String = subStrIndexOf(mp3Data, "&s=", "&");

//歌手名称

var mp3SingerStr:String = subStrIndexOf(mp3Data, "g=", "&");

//歌曲的url

var mp3UrlStr:String = subStrIndexOf(mp3Data, "surl=", "&url");

//输出解析结果

//trace("/t/t第 "+num+" 首歌");

//trace("歌名:"+mp3NameStr);

//trace("歌手:"+mp3SingerStr);

//trace("mp3地址:"+mp3UrlStr);

//trace("/n");

musicNum = "搜索到"+num+"首歌";

music_list.addItem({label:mp3NameStr+"["+mp3SingerStr+"]", data:mp3UrlStr, icon:"music_ico"});

music_list.iconField = "icon";

//如果还有下一个地址,递归,继续解析

if (mp3Data.indexOf("surl=", 0) != -1) {

num++;

DataString(mp3Data);

}

}

//输出str内 k-j 中间的一段,保存到mp3Data。

function subStrIndexOf(str:String, k:String, j:String):String {

var nK:Number = str.indexOf(k);

var sK:String = str.substr(nK+k.length);

var nJ:Number = sK.indexOf(j);

mp3Data = sK.substr(nJ+j.length);

return (sK.substr(0, nJ));

}

//当按下搜索按钮时,发送URL请求

key_bt.onRelease = function():Void {

page = 1;

music_list.removeAll();

sousuo(skey.text);

};

//随机搜索

sj_bt.onRelease = function():Void {

page = 1;

skey.text = mp3Name[random(mp3Name.length)];

sousuo(skey.text);

};

//上一页

up_bt.onRelease = function() {

if (page>1) {

page--;

} else {

page = 1;

}

sousuo(skey.text);

};

//下一页

down_bt.onRelease = function() {

page++;

sousuo(skey.text);

};

//搜索

function sousuo(key) {

id = 0;

music_list.removeAll();

loadData(skey.text);

peoplemc.gotoAndPlay(2);

}

//回调

function callback() {

id++;

if (id == music_list.length) {

id = 0;

page++;

sousuo(skey.text);

}

trace(id);

mp3.setMedia(music_list.getItemAt(id).data,"MP3");

msg.text = "随机播放:"+music_list.getItemAt(id).label;

mp3.play();

downloadName = music_list.getItemAt(id).label;

downloadData = music_list.getItemAt(id).data;

timer(0);

}

//计时

function timer(i) {

this.onEnterFrame = function() {

i++;

trace(i);

if (i>25 && pec == 0) {

callback();

} else if (i>100 && pec<5) {

callback();

} else if (i>150 && pec>10) {

delete this.onEnterFrame;

}

};

}

//监听是否播放停止

var listenerObject:Object = new Object();

plete = function(eventObj:Object) {

callback();

};

mp3.addEventListener("complete",listenerObject);

// 侦听进度。

var myListener:Object = new Object();

myListener.progress = function(eventObj:Object) {

pec = int(mp3.bytesLoaded/mp3.bytesTotal*100);

if (pec == 100) {

loadmc.loadtxt.text = "";

} else {

loadmc.loadtxt.text = "loading..."+pec+"%";

}

if (mp3.bytesTotal>totaltime) {

callback();

}

};

mp3.addEventListener("progress",myListener);

//

var music_listener:Object = new Object();

music_listener.change = function(evt_obj:Object) {

mp3.setMedia(music_list.selectedItem.data,"MP3");

msg.text = "正在播放:"+music_list.selectedItem.label;

trace(music_list.selectedItem.data);

downloadName = music_list.selectedItem.label;

downloadData = music_list.selectedItem.data;

peoplemc.gotoAndPlay(2);

};

//下载歌曲

getbt.onRelease = function() {

download();

};

getbt.onRollOver = function() {

this._alpha = 30;

};

getbt.onRollOut = function() {

this._alpha = 15;

};

//下载歌曲文件

function download() {

var fileRef:FileReference = new FileReference();

trace(music_list.selectedItem.data);

if (!fileRef.download(downloadData, downloadName+".mp3")) {

trace("dialog box failed to open.");

}

}

// 添加侦听器。

music_list.addEventListener("change",music_listener);

music_list.setStyle("alternatingRowColors",Array(0xF7DC9C, 0xFBEED0));

//读取歌手列表(此处省掉了一个播放列表)//

function addSinger() {

singer_list.removeAll();

var lightVisible:Boolean = peoplemc.visible;

peoplemc.visible = !lightVisible;

peoplemc.gotoAndPlay(2);

if (peoplemc.visible == false) {

for (i=0; i<singer.length; i++) {

singer_list.addItem({label:singer[i], icon:"singer_ico"});

singer_list.iconField = "icon";

}

skey.text = singer[random(singer.length)];

sousuo();

totaltime = 3500000;

} else {

for (i=0; i<mp3Name.length; i++) {

singer_list.addItem({label:mp3Name[i], icon:"singer_ico"});

singer_list.iconField = "icon";

}

skey.text = mp3Name[random(mp3Name.length)];

sousuo();

totaltime = 4500000;

}

}

//歌手列表选择

var singer_listener:Object = new Object();

singer_listener.change = function(evt_obj:Object) {

page = 1;

skey.text = singer_list.selectedItem.label;

sousuo(skey.text);

};

// 添加侦听器。

singer_list.addEventListener("change",singer_listener);

singer_list.setStyle("alternatingRowColors",Array(0xF7DC9C, 0xFBEED0));

eyebt.onRelease = function() {

addSinger();

};

_root.onMouseDown = function() {

totaltime = 4000000;

};

//初始化

addSinger();

callback();

播放效果图一

下载歌曲效果图

播放效果图二name="google_ads_frame" width="336" height="280" frameborder="0" src="/pagead/ads?client=ca-pub-7223872733800630&dt=1224783768671&lmt=1224503895&output=html&slotname=3782529755&correlator=1224783768669&url=http%3A%2F%%2Fhtml%2FFLASHyejiexinwen%2FFlashPlayer%2F0808%2F2043.html&ea=0&ref=http%3A%2F%%2Fsearch%3Fhl%3Dzh-CN%26newwindow%3D1%26q%3Dflash%25E9%259F%25B3%25E4%25B9%2590%25E6%2592%25AD%25E6%2594%25BE%25E5%2599%25A8%25E6%25BA%2590%25E7%25A0%2581%26revid%3D720875461%26sa%3DX%26oi%3Drevisions_inline%26resnum%3D0%26ct%3Dbroad-revision%26cd%3D4&frm=0&ga_vid=784162509.1224783769&ga_sid=1224783769&ga_hid=1580632223&flash=9.0.124&u_h=768&u_w=1024&u_ah=708&u_aw=1024&u_cd=32&u_tz=480&u_his=1&u_java=true&u_nplug=11&u_nmime=28" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no" style="margin-top: 0px; margin-bottom: 0px; font-family: 宋体; ">

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。