效果如图

功能
随意选取歌曲,循环播放,有音谱效果,音量控制,显示歌曲名,歌曲控制(播放与暂停、下一首和上一首)
操作
将下面文件下载解压后放在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");
}

做一个迷你播放器放在桌面相关推荐

  1. 23|VS2017 基于MFC 做一个音乐播放器,带音量调节,切换歌曲

    最近接到个小任务,用MFC做一个音乐播放器,不过这也是一直想尝试的,于是今天早上9点到下午16:00,总算是完成了需要的功能 开门见山,先展示一下整体界面 下面按照功能模块介绍我做这个播放器的过程 预 ...

  2. 如何使用uni-app做一个音乐播放器

    如何使用uni-app做一个音乐播放器 uni-app提供给我们非常棒的API,可以做出很好看的自定义样式的音乐播放器 好的编译器可以让我们的项目事半功倍,HBuilderX可以很方便的创建uni-a ...

  3. 使用howler做一个音频播放器到底有多简单

    强大的howler.js howler官网 https://howlerjs.com/ howler git地址 https://github.com/goldfire/howler.js 实现一个音 ...

  4. 用React做一个音乐播放器

    介绍 任何正在学习 React 并想使用 React 构建项目的人.有各种博客和文章可以为开发人员指导此类项目.我确实浏览过这些文章,但其中总是缺少一种项目.缺少的项目是音乐播放器和视频播放器.这两个 ...

  5. android做一个音乐播放器,制作一个简单的Android版的音乐播放器

    音乐播放器是一个非常常见的应用,这篇博客就是介绍如何制作一个简单的音乐播放器,这款音乐播放器具有以下的功能:播放歌曲.暂停播放歌曲..显示歌曲的总时长.显示歌曲的当前播放时长.调节滑块可以将歌曲调节到 ...

  6. 手把手教你10分钟做一个音乐播放器

    一.话不多,先看效果: 视频B站效果演示地址~  (大佬勿入,大佬勿入,大佬勿入)这是个单页面音乐播放器,只用到了 html+css 与很基础的vue语法,所以适合初学者,看一看10分钟就会了~ 这个 ...

  7. 用vue做一个音乐播放器

    xz-music 音乐播放器(web移动端) 开源协议MIT License github: https://github.com/huangweizhi/xz-music.git gitee: ht ...

  8. JS和H5做一个音乐播放器,附带源码

    http://mp.weixin.qq.com/s/KpXT9X46AMlUVXQvpHuXGQ 效果图: 实现的功能 1.首页 2.底部播放控件 3.播放页面 4.播放列表 5.排行榜 6.音乐搜索 ...

  9. 用js,css做一个音乐播放器

    做好如图所示: 下面开始上代码: html代码: <!DOCTYPE html> <html lang="en"> <head> <met ...

最新文章

  1. 从名称认识电容在电路中的作用
  2. adb 常用命令大全
  3. Python 技术篇-不使用os模块遍历文件夹,pathlib库获取直接下级文件和所有下级文件
  4. 济南电子机械工程学校计算机专业班主任,济南电子机械工程学校庆祝2020年教师节暨表彰大会隆重举行...
  5. 大数据WEB阶段(六)MySql 下载、安装、卸载与配置
  6. Maven发布工程到私服
  7. c语言编码风格,讲嵌入式C语言编码风格.ppt
  8. BZOJ5343[Ctsc2018]混合果汁——主席树+二分答案
  9. 商城管理系统源码 商城APP源码 电子商城源码
  10. Linux下常见的权限维持方式
  11. 关于长江的题目_高中关于长江的作文题目加优秀范文
  12. 一个屌丝程序猿的人生(二十七)
  13. element ui 表格头部内容不换行
  14. Java根据图片生成GIF动图
  15. 今日头条用户文章标题及详情页爬取
  16. 转载 美国SAP高手跳槽记-转自George
  17. 小学生认识计算机网络教案,小学信息技术《认识电脑键盘》教案
  18. 天天seo免费伪原创工具生成器
  19. dna序列的matlab实现,Matlab实现DNA序列的聚类树图
  20. 有没有音频转文字的软件?这些软件亲测实用

热门文章

  1. 基于RFID技术下的化工厂定位系统,包含化工厂人员定位解决方案-新导智能
  2. IT讲师韩顺平:创业不易,尚硅谷延续教育初心
  3. 常用工具软件-官网下载地址
  4. Python实现黑白棋人机对弈
  5. sap砍刀-做了sap半年多了,但是一直没有遇到多少问题,今天在网上看到这篇文章,于是copy过来了(对sap的学习者很有用)...
  6. Description Resource Path Location Type The project cannot be built until build path errors are reso
  7. 工业相机的曝光方式:全局曝光、卷帘曝光、全局复位释放曝光区别
  8. 苹果新专利将 Siri 融入 iMessage,会侵犯到用户的隐私吗?
  9. 数据库设计经验谈之一
  10. 永久一键关闭QQ频道,不用重新安装