请选择 进入手机版 | 继续访问电脑版
论坛公告
论坛公告
在线工具
在线工具
热门版块
热门版块
查看: 219|回复: 28

[文字类] 纯代码制作MP3音乐播放器实列【附代码拷贝 源码下载】

[复制链接]
  • TA的每日心情
    郁闷
    昨天 08:57
  • 签到天数: 97 天

    [LV.6]常住居民II

    178

    主题

    679

    帖子

    2万

    积分

    版主

    德勋
    4949
    金丹
    7592
    功绩
    131
    灵芝
    4927
    精华
    2
    阅读权限
    100
    注册时间
    2016-10-25
    在线时间
    87 小时

    最佳新人活跃会员音乐共享优秀会员特邀嘉宾

    发表于 2018-10-6 20:41:41 | 显示全部楼层 |阅读模式
    本帖最后由 漫步人生 于 2018-10-9 09:51 编辑



    1. //新建as2.0文档(设置默认),在主场景第1帧粘贴以下语句【把文字 代码全部复制粘贴】

    2. //画背景并定位
    3. this.createEmptyMovieClip("beijing",this.getNextHighestDepth());
    4. with (beijing) {
    5. beginFill(0x666699);
    6. moveTo(0,0);
    7. lineTo(300,0);
    8. lineTo(300,370);
    9. lineTo(0,370);
    10. endFill();
    11. import flash.filters.*;
    12. filters = [new DropShadowFilter()];
    13. _x = 175;
    14. _y = 75;
    15. }

    16. //画小框并定位
    17. this.createEmptyMovieClip("xiaokuang",this.getNextHighestDepth());
    18. with (xiaokuang) {
    19. beginFill(0x000000);
    20. lineStyle(1,0x33cc33,100);
    21. moveTo(0,0);
    22. lineTo(280,0);
    23. lineTo(280,60);
    24. lineTo(0,60);
    25. endFill();
    26. _x = 185;
    27. _y = 100;
    28. }

    29. //画5个黑三角并定位
    30. this.createEmptyMovieClip("sanjiao",this.getNextHighestDepth());
    31. with (sanjiao) {
    32. beginFill(0x000000);
    33. moveTo(0,0);
    34. lineTo(12,7.5);
    35. lineTo(0,15);
    36. endFill();
    37. }
    38. sanjiao._visible = 0;
    39. for (i=1; i<=5; i++) {
    40. duplicateMovieClip("sanjiao", "sanjiao"+i, this.getNextHighestDepth());
    41. sanjiao1._x = 235;
    42. sanjiao2._x = 187;
    43. sanjiao3._x = 194;
    44. sanjiao4._x = 212;
    45. sanjiao5._x = 219;
    46. sanjiao2._xscale = sanjiao3._xscale=50;
    47. sanjiao4._xscale = sanjiao5._xscale=-50;
    48. sanjiao1._y = sanjiao2._y=sanjiao3._y=sanjiao4._y=sanjiao5._y=190;
    49. }

    50. //画2个矩形并定位
    51. this.createEmptyMovieClip("juxing",this.getNextHighestDepth());
    52. with (juxing) {
    53. beginFill(0x000000);
    54. moveTo(0,0);
    55. lineTo(5,0);
    56. lineTo(5,12);
    57. lineTo(0,12);
    58. endFill();
    59. }
    60. juxing._visible = 0;
    61. for (i=1; i<=2; i++) {
    62. duplicateMovieClip("juxing", "juxing"+i, this.getNextHighestDepth());
    63. juxing1._x = 257;
    64. juxing1._y = juxing2._y=191.5;
    65. juxing2._x = 264.2;
    66. }

    67. //画小喇叭并定位
    68. this.createEmptyMovieClip("laba",this.getNextHighestDepth());
    69. with (laba) {
    70. beginFill(0x000000);
    71. moveTo(0,4);
    72. lineTo(6,4);
    73. lineTo(12,0);
    74. lineTo(12,15);
    75. lineTo(6,10);
    76. lineTo(0,10);
    77. endFill();
    78. _x = 278;
    79. _y = 190;
    80. }

    81. //画音量控制的底图并定位
    82. this.createEmptyMovieClip("yinliangdi",this.getNextHighestDepth());
    83. with (yinliangdi) {
    84. beginFill(0x000000);
    85. moveTo(0,10);
    86. lineTo(70,0);
    87. lineTo(70,10);
    88. endFill();
    89. _x = 295;
    90. _y = 192;
    91. }

    92. //画音量控制滑块并能拖动
    93. this.createEmptyMovieClip("yinlianghuakuai",this.getNextHighestDepth());
    94. with (yinlianghuakuai) {
    95. beginFill(0x996600);
    96. moveTo(0,0);
    97. lineTo(6,0);
    98. lineTo(6,10);
    99. lineTo(0,10);
    100. endFill();
    101. _x = 359;
    102. _y = 192;
    103. }
    104. yinlianghuakuai.onPress = function() {
    105. startDrag(this, false, 295, 192, 359, 192);
    106. };
    107. yinlianghuakuai.onRelease = yinlianghuakuai.onReleaseOutside=function () {
    108. stopDrag();
    109. };

    110. //画显示进度的底图并定位
    111. this.createEmptyMovieClip("jindutiaodi",this.getNextHighestDepth());
    112. with (jindutiaodi) {
    113. beginFill(0x000033);
    114. moveTo(0,0);
    115. lineTo(180,0);
    116. lineTo(180,3);
    117. lineTo(0,3);
    118. endFill();
    119. _x = 185;
    120. _y = 185;
    121. }

    122. //画下载进度条并定位
    123. this.createEmptyMovieClip("xiazaijindutiao",this.getNextHighestDepth());
    124. with (xiazaijindutiao) {
    125. beginFill(0x663300);
    126. moveTo(0,0);
    127. lineTo(180,0);
    128. lineTo(180,3);
    129. lineTo(0,3);
    130. endFill();
    131. _x = 185;
    132. _y = 185;
    133. }

    134. //画播放进度条并定位
    135. this.createEmptyMovieClip("bofangjindutiao",this.getNextHighestDepth());
    136. with (bofangjindutiao) {
    137. beginFill(0x009900);
    138. moveTo(0,0);
    139. lineTo(180,0);
    140. lineTo(180,3);
    141. lineTo(0,3);
    142. endFill();
    143. _x = 185;
    144. _y = 185;
    145. }

    146. //创建“已下载”文本
    147. this.createTextField("yixiazai_txt",this.getNextHighestDepth(),185,165,0,0);
    148. my_fmt = new TextFormat();
    149. my_fmt.font = "宋体";
    150. my_fmt.color = 0x000000;
    151. my_fmt.size = 12;
    152. yixiazai_txt.text = "已下载:";
    153. yixiazai_txt.autoSize = true;
    154. yixiazai_txt.setTextFormat(my_fmt);

    155. //创建“已播放”文本
    156. this.createTextField("yibofang_txt",this.getNextHighestDepth(),285,165,0,0);
    157. my_fmt = new TextFormat();
    158. my_fmt.font = "宋体";
    159. my_fmt.color = 0x000000;
    160. my_fmt.size = 12;
    161. yibofang_txt.text = "已播放:";
    162. yibofang_txt.autoSize = true;
    163. yibofang_txt.setTextFormat(my_fmt);

    164. //创建显示“下载百分比”的动态文本
    165. this.createTextField("xiazaibfb_txt",this.getNextHighestDepth(),240,163,0,0);
    166. my_fmt = new TextFormat();
    167. my_fmt.font = "宋体";
    168. my_fmt.color = 0x000000;
    169. my_fmt.size = 12;
    170. xiazaibfb_txt.autoSize = true;
    171. xiazaibfb_txt.setTextFormat(my_fmt);

    172. //创建显示“播放百分比”的动态文本
    173. this.createTextField("bofangbfb_txt",this.getNextHighestDepth(),340,163,0,0);
    174. my_fmt = new TextFormat();
    175. my_fmt.font = "宋体";
    176. my_fmt.color = 0x000000;
    177. my_fmt.size = 12;
    178. bofangbfb_txt.autoSize = true;
    179. bofangbfb_txt.setTextFormat(my_fmt);

    180. //创建5个分别覆盖在“快进”、“快退”、“播放”、“暂停”和“喇叭”上的隐形按钮
    181. this.createEmptyMovieClip("yinxinganniu",this.getNextHighestDepth());
    182. with (yinxinganniu) {
    183. beginFill(0xffffff,30);
    184. moveTo(0,0);
    185. lineTo(15,0);
    186. lineTo(15,15);
    187. lineTo(0,15);
    188. endFill();
    189. _x = 185;
    190. _y = 190;
    191. }
    192. yinxinganniu._visible = 0;
    193. for (i=1; i<=5; i++) {
    194. duplicateMovieClip(yinxinganniu, "yinxinganniu"+i, this.getNextHighestDepth());
    195. this["yinxinganniu"+i]._x = 185+22.8*(i-1);
    196. this["yinxinganniu"+i]._y = 190;
    197. this["yinxinganniu"+i]._alpha = 0;
    198. this["yinxinganniu"+i].onRollOver = function() {
    199. this._alpha = 70;
    200. };
    201. this["yinxinganniu"+i].onRollOut = function() {
    202. this._alpha = 0;
    203. };
    204. }

    205. //快进
    206. yinxinganniu1.onPress = function() {
    207. mysound.stop();
    208. mysound.start(mysound.position/1000+10);
    209. };

    210. //快退
    211. yinxinganniu2.onPress = function() {
    212. mysound.stop();
    213. mysound.start(mysound.position/1000-10);
    214. };

    215. //播放
    216. yinxinganniu3.onPress = function() {
    217. if (tt) {
    218. mysound.stop();
    219. mysound.start(tt);
    220. } else {
    221. mysound.stop();
    222. mysound.start(0);
    223. }
    224. for (i=1; i<=20; i++) {
    225. _root["dianpingtiao"+i]._visible = 1;
    226. }
    227. };

    228. //暂停
    229. yinxinganniu4.onPress = function() {
    230. mysound.stop();
    231. tt = mysound.position/1000;
    232. for (i=1; i<=20; i++) {
    233. _root["dianpingtiao"+i]._visible = 0;
    234. }
    235. };

    236. //画红斜杠并定位
    237. this.createEmptyMovieClip("hongxian",this.getNextHighestDepth());
    238. with (hongxian) {
    239. lineStyle(2,0xff0000,100);
    240. moveTo(0,0);
    241. lineTo(13,13);
    242. _x = 278;
    243. _y = 190;
    244. }
    245. hongxian._visible = 0;

    246. //静音
    247. k = 0;
    248. yinxinganniu5.onPress = function() {
    249. k++;
    250. if (k%2 == 1) {
    251. yinlianghuakuai._x = 295;
    252. hongxian._visible = 1;
    253. for (i=1; i<=20; i++) {
    254. _root["dianpingtiao"+i]._visible = 0;
    255. }
    256. } else {
    257. yinlianghuakuai._x = 359;
    258. hongxian._visible = 0;
    259. for (i=1; i<=20; i++) {
    260. _root["dianpingtiao"+i]._visible = 1;
    261. }
    262. }
    263. };

    264. //画20根电频条并定位
    265. this.createEmptyMovieClip("dianpingtiao",this.getNextHighestDepth());
    266. with (dianpingtiao) {
    267. beginFill(0x005555);
    268. moveTo(0,0);
    269. lineTo(7,0);
    270. lineTo(7,-35);
    271. lineTo(0,-35);
    272. endFill();
    273. }
    274. dianpingtiao._visible = 0;
    275. for (i=1; i<=20; i++) {
    276. duplicateMovieClip("dianpingtiao", "dianpingtiao"+i, this.getNextHighestDepth());
    277. this["dianpingtiao"+i]._visible = 0;
    278. this["dianpingtiao"+i]._x = 187+9*(i-1);
    279. this["dianpingtiao"+i]._y = 160;
    280. }

    281. //创建歌名文本
    282. this.createTextField("geming_txt",this.getNextHighestDepth(),185,218,0,0);
    283. my_fmt = new TextFormat();
    284. my_fmt.font = "宋体";
    285. my_fmt.color = 0x003366;
    286. my_fmt.size = 20;
    287. geming_txt.text = "1、劲爆舞曲DJ\n2、我彑挲煜雈是行船人\n3、爱情是行船人\n4、行船阿郎\n5、行船人的纯情曲\n6、望君早回航\n7、港口情歌";
    288. geming_txt.autoSize = true;
    289. geming_txt.setTextFormat(my_fmt);

    290. //签名
    291. this.createTextField("qianming_txt",this.getNextHighestDepth(),298,425,0,0);
    292. my_fmt6 = new TextFormat();
    293. my_fmt6.font = "宋体";
    294. my_fmt6.color = 0xFFFFFF;
    295. my_fmt6.size = 15;
    296. qianming_txt.text = "制作:漫步人生";
    297. qianming_txt.autoSize = true;
    298. qianming_txt.setTextFormat(my_fmt6);

    299. //作品名
    300. this.createTextField("timu_txt",this.getNextHighestDepth(),220,78,0,0);
    301. my_fmt7 = new TextFormat();
    302. my_fmt7.font = "黑体";
    303. my_fmt7.color = 0xccccff;
    304. my_fmt7.size = 18;
    305. timu_txt.text = "纯代码MP3播放器   手动播放";
    306. timu_txt.autoSize = true;
    307. timu_txt.setTextFormat(my_fmt7);

    308. //画覆盖在歌名文本上的隐形按钮
    309. this.createEmptyMovieClip("geminganniu",this.getNextHighestDepth());
    310. with (geminganniu) {
    311. beginFill(0x000000,10);
    312. moveTo(0,0);
    313. lineTo(185,0);
    314. lineTo(185,22);
    315. lineTo(0,22);
    316. endFill();
    317. _x = 185;
    318. _y = 220;
    319. }
    320. geminganniu._visible = 0;
    321. for (i=1; i<=5; i++) {
    322. duplicateMovieClip("geminganniu", "geminganniu"+i, this.getNextHighestDepth());
    323. this["geminganniu"+i]._y = 220+20*(i-1);
    324. this["geminganniu"+i]._alpha = 10;
    325. this["geminganniu"+i].onRollOver = function() {
    326. this._alpha = 90;
    327. };
    328. this["geminganniu"+i].onRollOut = function() {
    329. this._alpha = 0;
    330. };
    331. }

    332. //创建显示当前播放曲目名的动态文本
    333. this.createTextField("gm_txt",this.getNextHighestDepth(),0,0,0,0);
    334. gm_txt.autoSize = "left";
    335. gm_txt.textColor = 0x999900;
    336. gm_txt._x = 190;
    337. gm_txt._y = 102;

    338. //自定义函数
    339. function yy(geming, dizhi) {
    340. //边加载边播放
    341. mysound = new Sound();
    342. mysound.loadSound(dizhi,true);
    343. gm_txt.text = geming;
    344. //反复播放
    345. mysound.onSoundComplete = function() {
    346. yy(geming,dizhi);
    347. };
    348. for (i=1; i<=20; i++) {
    349. _root["dianpingtiao"+i]._visible = 1;
    350. }
    351. }

    352. //按下播放相应曲目
    353. geminganniu1.onPress = function() {
    354. yy("1、劲爆舞曲DJ","http://klhy.xiangjiangriverwater.com/bfq06/004.mp3 ");
    355. };
    356. geminganniu2.onPress = function() {
    357. yy("2、我彑挲煜雈是行船人","http://link.hhtjim.com/163/270875.mp3");
    358. };
    359. geminganniu3.onPress = function() {
    360. yy("3、爱情是行船人","http://link.hhtjim.com/163/270877.mp3");
    361. };
    362. geminganniu4.onPress = function() {
    363. yy("4、行船阿郎","http://link.hhtjim.com/163/270879.mp3");
    364. };
    365. geminganniu5.onPress = function() {
    366. yy("5、行船人的纯情曲","http://link.hhtjim.com/163/270883.mp3");
    367. };  

    368. geminganniu5.onPress = function() {
    369. yy("6、望君早回航","http://link.hhtjim.com/163/270885.mp3");
    370. };

    371. geminganniu5.onPress = function() {
    372. yy("7、港口情歌","http://link.hhtjim.com/163/270890.mp3");
    373. };  

    374. //逐帧刷新
    375. onEnterFrame = function () {
    376. //电频条跳动
    377. for (i=1; i<=20; i++) {
    378. this["dianpingtiao"+i]._yscale = random(120-4*(i-1));
    379. }
    380. //下载进度条显示下载进度
    381. xiazaijindutiao._xscale = int(mysound.getBytesLoaded()/mysound.getBytesTotal()*100);
    382. //播放进度条显示播放进度
    383. bofangjindutiao._xscale = int(mysound.position/mysound.duration*100);
    384. //显示下载百分比
    385. xiazaibfb_txt.text = xiazaijindutiao._xscale+"%";
    386. //显示播放百分比
    387. bofangbfb_txt.text = bofangjindutiao._xscale+"%";
    388. //拖动滑块控制音量
    389. mysound.setVolume(yinlianghuakuai._x-295)/64*100;
    390. };
    391. // 测试,OK!
    复制代码



    源码下载:

    游客,如果您要查看本帖隐藏内容请回复

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x

    评分

    参与人数 3德勋 +39 金丹 +36 功绩 +1 灵芝 +36 收起 理由
    烟雨芙蓉 + 10 + 10 + 10 雅岚阁有你更精彩!
    晓恋缘 + 14 + 11 + 11 雅岚阁有你更精彩!
    墨雪幽梅 + 15 + 15 + 1 + 15 雅岚阁有你更精彩!

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-10-18 13:33
  • 签到天数: 39 天

    [LV.5]常住居民I

    11

    主题

    711

    帖子

    3832

    积分

    贵宾

    德勋
    341
    金丹
    1474
    功绩
    11
    灵芝
    954
    精华
    0
    阅读权限
    150
    注册时间
    2018-6-13
    在线时间
    12 小时

    特邀嘉宾

    发表于 2018-10-6 22:09:48 | 显示全部楼层
    这个代码在什么软件做播放器啊,还是直接在论坛发帖的时候粘贴呢?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    昨天 08:57
  • 签到天数: 97 天

    [LV.6]常住居民II

    178

    主题

    679

    帖子

    2万

    积分

    版主

    德勋
    4949
    金丹
    7592
    功绩
    131
    灵芝
    4927
    精华
    2
    阅读权限
    100
    注册时间
    2016-10-25
    在线时间
    87 小时

    最佳新人活跃会员音乐共享优秀会员特邀嘉宾

     楼主| 发表于 2018-10-7 08:47:51 | 显示全部楼层
    本帖最后由 漫步人生 于 2018-10-7 08:48 编辑
    闲椅一枝花 发表于 2018-10-6 22:09
    这个代码在什么软件做播放器啊,还是直接在论坛发帖的时候粘贴呢?


    是制作动画软件:FLASH8.0    你知道可以在百度搜索FLASH8.0 然后下载安装   再下载这里的源码看看
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    昨天 07:30
  • 签到天数: 98 天

    [LV.6]常住居民II

    90

    主题

    968

    帖子

    1万

    积分

    中级会员

    德勋
    2180
    金丹
    4090
    功绩
    452
    灵芝
    2904
    精华
    0
    阅读权限
    50
    注册时间
    2018-9-4
    在线时间
    150 小时
    发表于 2018-10-7 11:56:59 | 显示全部楼层
    感谢 您的详尽介绍,赞!

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    前天 10:29
  • 签到天数: 111 天

    [LV.6]常住居民II

    50

    主题

    1650

    帖子

    1万

    积分

    超级版主

    德勋
    2764
    金丹
    5647
    功绩
    178
    灵芝
    4009
    精华
    12
    阅读权限
    150
    注册时间
    2018-5-13
    在线时间
    132 小时

    活跃会员优秀版主版主金话筒

    发表于 2018-10-7 15:43:30 | 显示全部楼层
    感谢代码分享,问好!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    昨天 10:23
  • 签到天数: 174 天

    [LV.7]常住居民III

    136

    主题

    6959

    帖子

    3万

    积分

    超级版主

    德勋
    3336
    金丹
    13501
    功绩
    172
    灵芝
    9691
    精华
    9
    阅读权限
    150
    注册时间
    2017-11-2
    在线时间
    315 小时

    最佳新人活跃会员优秀版主超级版主新人勤劳之星

    发表于 2018-10-7 18:02:41 | 显示全部楼层
    没音乐哦
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    昨天 10:23
  • 签到天数: 174 天

    [LV.7]常住居民III

    136

    主题

    6959

    帖子

    3万

    积分

    超级版主

    德勋
    3336
    金丹
    13501
    功绩
    172
    灵芝
    9691
    精华
    9
    阅读权限
    150
    注册时间
    2017-11-2
    在线时间
    315 小时

    最佳新人活跃会员优秀版主超级版主新人勤劳之星

    发表于 2018-10-7 18:03:00 | 显示全部楼层
    是俺的网速不好
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    昨天 10:23
  • 签到天数: 174 天

    [LV.7]常住居民III

    136

    主题

    6959

    帖子

    3万

    积分

    超级版主

    德勋
    3336
    金丹
    13501
    功绩
    172
    灵芝
    9691
    精华
    9
    阅读权限
    150
    注册时间
    2017-11-2
    在线时间
    315 小时

    最佳新人活跃会员优秀版主超级版主新人勤劳之星

    发表于 2018-10-7 18:03:19 | 显示全部楼层
    问好漫漫老师
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    昨天 10:23
  • 签到天数: 174 天

    [LV.7]常住居民III

    136

    主题

    6959

    帖子

    3万

    积分

    超级版主

    德勋
    3336
    金丹
    13501
    功绩
    172
    灵芝
    9691
    精华
    9
    阅读权限
    150
    注册时间
    2017-11-2
    在线时间
    315 小时

    最佳新人活跃会员优秀版主超级版主新人勤劳之星

    发表于 2018-10-7 18:03:22 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    昨天 10:23
  • 签到天数: 174 天

    [LV.7]常住居民III

    136

    主题

    6959

    帖子

    3万

    积分

    超级版主

    德勋
    3336
    金丹
    13501
    功绩
    172
    灵芝
    9691
    精华
    9
    阅读权限
    150
    注册时间
    2017-11-2
    在线时间
    315 小时

    最佳新人活跃会员优秀版主超级版主新人勤劳之星

    发表于 2018-10-7 18:03:26 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Powered by Discuz! 3.4

    快速回复 返回顶部 返回列表