做一个迷你播放器放在桌面

效果如图
做一个迷你播放器放在桌面

功能
随意选取歌曲,循环播放,有音谱效果,音量控制,显示歌曲名,歌曲控制(播放与暂停、下一首和上一首)
操作

将下面文件下载解压后放在MP3音乐文件夹内(该文件用FLASHPACKER打包)
打开此文件后,点击左上角按钮进入选取文件即可。
做一个迷你播放器放在桌面 迷你播放器.rar(1.85 MB)

下面是AS3代码——————————————

//申明变量
var zhantingtime:Number;
var zongchangdu:Number;
var bfb:Number=0;
var tdfw:Rectangle = new Rectangle(90,40,-90,0);
var file:FileReferenceList;
var _sound:Sound;
var shengyincongzhi:SoundChannel=new SoundChannel();
var dizhi:URLRequest;
var arr:Array=new Array();
var p:uint=0;
wjm_mc._txt.text="选择文件";
jindu_mc._txt.text="刘常";
//鼠标点击时暂停时声音暂停
zt_btn.addEventListener(MouseEvent.CLICK,zt);
function zt(event:MouseEvent):void {
 zt_btn.visible=false;
 bf_btn.visible=true;
 zhantingtime=shengyincongzhi.position;
 shengyincongzhi.stop();
}
//鼠标点击时播放时声音继续
bf_btn.addEventListener(MouseEvent.CLICK,bf);
function bf(event:MouseEvent):void {
 zt_btn.visible=true;
 bf_btn.visible=false;
 shengyincongzhi=_sound.play(zhantingtime);
}
zt_btn.visible=true;
bf_btn.visible=false;
//浏览文件按钮
_btn.addEventListener(MouseEvent.CLICK,dj);
function dj(event:MouseEvent):void {
 file = new FileReferenceList();
 file.addEventListener(Event.SELECT,select);
 file.browse([new FileFilter("mp3文件","*.mp3")]);
}
function select(e:Event):void {
 shengyincongzhi.stop();
 arr=new Array();
 var f:FileReference;
 for (var i:uint = 0; i < e.target.fileList.length; i++) {
  f = FileReference(e.target.fileList[i]);
  arr.push(f);
 }
 dizhi=new URLRequest(arr[0].name);
 _sound=new Sound();
 _sound.load(dizhi);
 shengyincongzhi=_sound.play();
 stage.addEventListener(Event.ENTER_FRAME,gx);
}

//声音结束时重播
function chongbo(event:Event):void {
 p++;
 if (p==arr.length) {
  p=0;
 }
 dizhi=new URLRequest(arr[p].name);
 _sound=new Sound();
 _sound.load(dizhi);
 shengyincongzhi=_sound.play(0);
}
//上一首
sys_btn.addEventListener(MouseEvent.CLICK,sys);
function sys(event:Event):void {
 xys_btn.addEventListener(MouseEvent.CLICK,xys);
 shengyincongzhi.stop();
 if (p>0) {
  p--;
  if (p==0) {
   p=0;
   sys_btn.removeEventListener(MouseEvent.CLICK,sys);
  }
 }
 dizhi=new URLRequest(arr[p].name);
 _sound=new Sound();
 _sound.load(dizhi);
 shengyincongzhi=_sound.play(0);

}
//下一首
xys_btn.addEventListener(MouseEvent.CLICK,xys);
function xys(event:Event):void {
 sys_btn.addEventListener(MouseEvent.CLICK,sys);
 shengyincongzhi.stop();
 if (p<arr.length-1) {
  p++;
  if (p==arr.length-1) {
   p=arr.length-1;
   xys_btn.removeEventListener(MouseEvent.CLICK,xys);
  }
 }
 dizhi=new URLRequest(arr[p].name);
 _sound=new Sound();
 _sound.load(dizhi);
 shengyincongzhi=_sound.play(0);
}

//设置音量
function setyl(volume:Number):void {
 var yinliang:SoundTransform. = shengyincongzhi.soundTransform;
 yinliang.volume = volume;
 shengyincongzhi.soundTransform. = yinliang;
}
//音量滑块拖动范围
ylhk_mc.buttonMode=true;
ylhk_mc.addEventListener(MouseEvent.MOUSE_DOWN,td);
function td(event:MouseEvent):void {
 this.startDrag(false)
 ylhk_mc.startDrag(false,tdfw);
}
//音量滑块松开时设置音量的大小
ylhk_mc.addEventListener(MouseEvent.MOUSE_UP,sf);
function sf(event:MouseEvent):void {
 this.startDrag(true)
 ylhk_mc.stopDrag();
}
//拖动在舞台上松开时设置音量的大小
stage.addEventListener(MouseEvent.MOUSE_UP,yc);
function yc(event:MouseEvent):void {
 this.startDrag(true)
 ylhk_mc.stopDrag();
}
//
var bx:Sprite=new Sprite();
addChild(bx);
var _arr:ByteArray = new ByteArray();
var n:Number=0;
function gx(event:Event) {
 //进度
 zongchangdu=_sound.length/(_sound.bytesLoaded/_sound.bytesTotal);
 bfb=shengyincongzhi.position/zongchangdu;
 jindu_mc._txt.text=Math.round(bfb*100)+"%"+"常";
 var zfc:Array=dizhi.url.split(".");
 wjm_mc._txt.text=zfc[0];
 //频谱
 bx.graphics.clear();
 SoundMixer.computeSpectrum(_arr,true,0);//将当前声音输出为ByteArray
 for (var i=0; i <90; i=i+6) {
  n = _arr.readFloat()*12;//把数据流读取成浮点数并扩大其值
  bx.graphics.lineStyle(4,0x008888,1,true,"noSacle","none");
  //效果——跳动柱形
  bx.graphics.moveTo(6+i,38);
  bx.graphics.lineTo(6+i,38-n);
 }
 //音量
 var volume:Number=1+((ylhk_mc.x-90)/90);
 setyl(volume);
 //添加重播侦听事件
 shengyincongzhi.addEventListener(Event.SOUND_COMPLETE,chongbo);
}
//退出
gb_btn.addEventListener(MouseEvent.CLICK,gb);
function gb(event:MouseEvent):void {
 fscommand("quit");
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
酷播迷你(CuPlayerMini)V1.0版Flv网页播放器(经典实用播放器) 酷播迷你(CuPlayerMini)V1.0版Flv网页播放器(包含淡雅灰/经典黑两款) 淡雅灰 CuPlayerMiniV10_Gray.html 经典黑 CuPlayerMiniV10_Black.html ---------------------------------------  简要提示: 各位朋友,请不要说“这个用不了!”“播放器显示不了!”“根本不能用”这样的话, 向我说这样的话的朋友: * 90%,是路径写错了。因此,强烈建议各位:在你没有理清相对关系的时候,请用   绝对路径吧,请把所有文件的地址都改用绝对地址吧!这样最保险,不会出错。 * 那么另10%,是什么问题呢?是服务器不支持flv格式,这个解决办法详情见网站。   --------------------------------------- 功能介绍: 1.支持FlashVars调用html代码中的参数; 2.支持Flv/Mp4格式视频文件播放; 3.支持显示视频略缩图; 4.支持自动播放/点击播放; 5.支持是否重复播放; 6.支持是否隐藏控制条; 7.支持全屏时,是否自动隐藏控制条;隐藏时间可自定义(默认为3秒); 8.显示播放进度条,带预加载,支持拖动播放进度条; 9.支持音量控制(默认为75); 10.支持全屏,支持双击全屏; 11.显示视频总时长和当前播放进度的位置时间; 12.播放器大小,可随意设置; 13.视频文件自适应播放器大小; 14.支持ASP,PHP,.NET等程序,可以实现后台管理视频的功能; 15.可以与动易、织梦、帝国等各类CMS系统结合,实现与此类CMS系统后台的融合; 16.代码简洁明了,界面美观,适合各类网站使用; 使用方式: 第一步:加以下swfobject.js代码到Html源代码</head>之前: <script type="text/javascript" src="Images/swfobject.js"></script> 第二步:加以下代码到您网页中需要添加播放器的位置: <div id="CuPlayer2" style="margin-top:20px;"> <strong>酷播迷你(CuPlayerMiniV1.0) You do not have the right Flash Player. Please update.</strong> </div> <script type="text/javascript"> var so = new SWFObject("Images/CuPlayerMiniV10_Gray_S.swf","CuPlayer","476","300","9","#000000"); so.addParam("allowfullscreen","true"); so.addParam("allowscriptaccess","always"); so.addParam("wmode","opaque"); so.addParam("quality","high"); so.addParam("salign","lt"); so.addVariable("CuPlayerFile","http://vkpws.video.qq.com/flv/47/189/7EJ4HYU2V3r.flv"); so.addVariable("CuPlayerImage","/cu/FreeDown/Images/flashChangfa2.jpg"); so.addVariable("CuPlayerShowImage","true"); so.addVariable("CuPlayerWidth","476"); so.addVariable("CuPlayerHeight","300"); so.addVariable("CuPlayerAutoPlay","true"); so.addVariable("CuPlayerAutoRepeat","true"); so.addVariable("CuPlayerShowControl","true"); so.addVariable("CuPlayerAutoHideControl","false"); so.write("CuPlayer"); </script>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值