• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[技术交流] 【院刊】-【201409期】QUI制作音乐播放器 [复制链接]

1#

QUI制作音乐播放器

作者:jinsisizai


配上炫酷的Gif图片,简单的音乐播放器就算完成了。楼主忍不住陶醉许久,QUI界面原来也是可以如此美腻的,哦吼吼~~


最终效果图:


您所在的用户组无法下载或查看附件




我们肉眼看到的,这个播放器上只有按钮,进度条,列表框,标签,其实还有一个浏览框和按钮是隐藏的。



您所在的用户组无法下载或查看附件



我们先来了解下,listbox列表控件、BrowseBox1浏览框控件、ProgressBar1进度条控件。

上表格~今天会用到的属性会用红色字体标注出来。


ListBox 列表框
●基本 ●位置:
●其他: ●方法:
属性1,名称(Name) 属性1,左边(Left)
属性1,文字颜色(TextColor)
方法1,返回列表行数数量(ListCount)
属性2,显示(Visible) 属性2,上边(Top) 属性2,背景颜色(BackColor) 方法2,新增列表项目(AddItem)
属性3,有效(Enabled) 属性3,宽度(Width) 属性3,字体(Font) 方法3,插入列表项目(InsertItem)
属性4,列表内容(List)
属性4,高度(Height) 方法4,删除列表项目(RemoveItem)
属性5,显示顺序(ZOrder) 方法5,返回列表当前选中的行号(ListIndex)



BrowseBox 浏览框
●基本:
●位置: ●其他:
属性1,名称(Name) 属性1,左边(Left) 属性1,文字颜色(TextColor)
属性2,显示(Visible) 属性2,上边(Top)
属性2,背景颜色(BackColor)
属性3,有效(Enabled) 属性3,宽度(Width)
属性3,字体(Font)
属性4,路径(Path) 属性4,高度(Height) 属性4,浏览样式(Style)
属性5,显示顺序(ZOrder) 属性5,过滤条件(Filter)


ProgressBar 进度条
●基本: ●位置: 其他:
属性1,名称(Name) 属性1,左边(Left) 属性1,方向(Orientation)
属性2,显示(Visible) 属性2,上边(Top) 隐藏属性:进度(Value)
属性3,有效(Enabled)
属性3,宽度(Width)
属性4,高度(Height)
属性5,显示顺序(ZOrder)




音乐播放器的实现步骤是十分简单的,来,咱们手牵手一起去看看是怎么实现的。

步骤:


1、把浏览框里的路径进行分割,把分割得到的歌曲名称添加到播放列表框。

您所在的用户组无法下载或查看附件
您所在的用户组无法下载或查看附件

代码:
  1. If Form1.浏览框.Path <> "" Then //判断打开的路径是否为空
  2. SearchString = Form1.浏览框.Path //设置要搜索的字符串
  3. SearchChar = "\" //搜索\
  4. MyPos = InstrRev(SearchString, SearchChar) //搜索字符"\"在SearchString里面出现的从结尾计起的位置
  5. l = Len(SearchString) //SearchString的长度
  6. 歌曲名字 = Right(SearchString, l - MyPos) //从字符串SearchString右边返回指定数目的字符,现在返回爱你一万年.mp3
  7. Form1.播放列表.AddItem 歌曲名字 //添加歌曲名字到列表框
  8. End If
复制代码

2、播放按钮的默认背景图片设置为播放.jpg
您所在的用户组无法下载或查看附件
,定义一个全局变量来记录播放按钮的点击次数,点击次数为奇数时,播放按钮的背景图片设置为暂停.jpg
您所在的用户组无法下载或查看附件
,并且播放音乐,点击次数为偶数时,播放按钮的背景图片设置为播放.jpg,并且暂停音乐。


代码:
  1. If js mod 2 Then
  2. Form1.播放.Picture=".\播放.jpg"
  3. Call Plugin.Media.Stop()
  4. Form1.显示播放状态.Caption = "停止"
  5. Else
  6. Form1.播放.Picture = ".\暂停.jpg"
  7. Call Plugin.Media.Play(myarray(hanghao)) //播放列表文件,使用相对路径
  8. Form1.显示播放状态.Caption = "播放"
  9. End If
  10. js = js + 1
复制代码

3、上一首按钮(下一首按钮)
您所在的用户组无法下载或查看附件
您所在的用户组无法下载或查看附件
,先停止当前播放的音乐,将播放列表框的listIndex (列表当前选中的行号)加一(下一首是减一),然后播放音乐。


代码:
  1. If Form1.播放列表.listIndex = 0 Then
  2. //如果播放到最前一首,弹出提示框
  3. MessageBox"已经是最前一首!"
  4. Else
  5. //首先停止上一首
  6. Call Plugin.Media.Stop()
  7. Delay 100
  8. Form1.播放.Picture = ".\暂停.jpg"
  9. Call Plugin.Media.Play(myarray(hanghao - 1))
  10. hanghao = hanghao - 1
  11. Form1.播放列表.listIndex = Form1.播放列表.listIndex - 1
  12. End If
复制代码

4、音量添加按钮(音量减少按钮),每点击一次,声量控制进度条的值就增加10%,设置播放器的音量为当前进度条的值。


代码:
  1. Form1.声量进度条.Value = Form1.声量进度条.Value + 100/10 //进度条显示每次增加10%音量
  2. Call Plugin.Media.Vol(Form1.声量进度条.Value) //音量控制
复制代码
5、控件背景颜色、字体调整等,这些视觉调整比较耗费时间,大家可以根据自己的喜好设置属于自己风格的界面。


整个音乐播放器代码如下:


  1. Public js
  2. // 定义一个全局变量,用来记录播放按钮的点击次数,奇数显示播放按钮图标,偶数显示暂停按钮图片
  3. //先写音量控制
  4. Event Form1.音量增加.Click
  5. Form1.声量进度条.Value = Form1.声量进度条.Value + 100/10 //进度条显示每次增加10%音量
  6. Call Plugin.Media.Vol(Form1.声量进度条.Value) //音量控制
  7. End Event
  8. Event Form1.音量减少.Click
  9. Form1.声量进度条.Value = Form1.声量进度条.Value - 100/10 //进度条显示每次减少10%音量
  10. Call Plugin.Media.Vol(Form1.声量进度条.Value) //音量控制
  11. End Event
  12. //写添加歌曲
  13. Event Form1.添加.Click
  14. If Form1.浏览框.Path <> "" Then //判断打开的路径是否为空
  15. SearchString = Form1.浏览框.Path //设置要搜索的字符串
  16. SearchChar = "\" //搜索\
  17. MyPos = InstrRev(SearchString, SearchChar) //搜索字符"\"在SearchString里面出现的从结尾计起的位置
  18. l = Len(SearchString) //SearchString的长度
  19. 歌曲名字 = Right(SearchString, l - MyPos) //从字符串SearchString右边返回指定数目的字符,现在返回爱你一万年.mp3
  20. Form1.播放列表.AddItem 歌曲名字 //添加歌曲名字到列表框
  21. End If
  22. Form1.声量进度条.Value = 20 //声量默认设置为20
  23. Call Plugin.Media.Vol(Form1.声量进度条.Value)
  24. Form1.播放列表.ListIndex = 歌曲名字// 设置播放列表里默认选中为当前添加的歌曲
  25. Form1.浏览框.Visible = false
  26. Form1.添加.Visible = false
  27. Form1.Add.Visible = True
  28. //隐藏添加歌曲的浏览框等,显示Add添加按钮
  29. End Event
  30. //**********功能键*********
  31. //播放列表选歌事件
  32. Event Form1.播放列表.Click
  33. //首先,读取播放列表内容
  34. text = Form1.播放列表.list
  35. myarray = split(text, "|") //分割播放列表
  36. hanghao = Form1.播放列表.listIndex //读取行号
  37. // MessageBox myarray(hanghao) //显示该行歌曲名字
  38. End Event
  39. //播放
  40. Event Form1.播放.Click
  41. text = Form1.播放列表.list
  42. myarray = split(text, "|") //分割播放列表
  43. hanghao = Form1.播放列表.listIndex//读取行号
  44. If js mod 2 Then
  45. Form1.播放.Picture=".\播放.jpg"
  46. Call Plugin.Media.Stop()
  47. Form1.显示播放状态.Caption = "停止"
  48. Else
  49. Form1.播放.Picture = ".\暂停.jpg"
  50. Call Plugin.Media.Play(myarray(hanghao)) //播放列表文件,使用相对路径
  51. Form1.显示播放状态.Caption = "播放"
  52. End If
  53. js = js + 1
  54. End Event
  55. //停止
  56. //下一首
  57. Event Form1.下一首.Click
  58. text = Form1.播放列表.list
  59. myarray = split(text, "|") //分割播放列表
  60. hanghao = Form1.播放列表.listIndex //读取行号
  61. If Form1.播放列表.listIndex < Form1.播放列表.ListCount-1 Then //当前选中歌曲行号小于播放列表总行号
  62. //首先停止上一首
  63. Call Plugin.Media.Stop()
  64. Delay 100
  65. Form1.播放.Picture = ".\暂停.jpg"
  66. Call Plugin.Media.Play(myarray(hanghao + 1))
  67. hanghao = hanghao + 1
  68. Form1.播放列表.listIndex = Form1.播放列表.listIndex + 1
  69. ElseIf Form1.播放列表.listIndex = Form1.播放列表.ListCount-1 Then
  70. //如果播放到最后一首,弹出提示框
  71. MessageBox "已经是最后一首!"
  72. End If
  73. End Event
  74. //上一首
  75. Event Form1.上一首.Click
  76. text = Form1.播放列表.list
  77. myarray = split(text, "|") //分割播放列表
  78. hanghao = Form1.播放列表.listIndex //读取行号
  79. If Form1.播放列表.listIndex = 0 Then
  80. //如果播放到最前一首,弹出提示框
  81. MessageBox"已经是最前一首!"
  82. Else
  83. //首先停止上一首
  84. Call Plugin.Media.Stop()
  85. Delay 100
  86. Form1.播放.Picture = ".\暂停.jpg"
  87. Call Plugin.Media.Play(myarray(hanghao - 1))
  88. hanghao = hanghao - 1
  89. Form1.播放列表.listIndex = Form1.播放列表.listIndex - 1
  90. End If
  91. End Event
  92. //清空列表
  93. Event Form1.清空列表.Click
  94. MsgBox "注意!是否要清空播放列表!", 48, "提示:"
  95. Form1.播放列表.List = "" //清空
  96. End Event
  97. //**********功能键***********
  98. Event Form1.Add.Click
  99. Form1.浏览框.Visible = True
  100. Form1.添加.Visible = True
  101. Form1.Add.Visible = false
  102. // 显示添加歌曲的浏览框等,隐藏Add按钮
  103. End Event
复制代码
音乐播放器Q文件:
您所在的用户组无法下载或查看附件


本文由按键学院提供技术支持

按键学院实战班(入驻最终幻想)火热招生

按键学院基础视频抢先观看




    已有1评分我要评分查看所有评分

    本主题由 超级版主 瑞祥幽冥狼 于 2023/4/16 15:32:27 执行 审核帖子 操作
    <strong>按键学院交流群(开放中):376122403<br />
    <br />
    <a href="http://bbs.anjian.com/thread-548439-1-1.html" target="_blank">按键学院开班<strong> <font color="Red">【安卓导师】+【实战导师】招聘导师</font></strong>啦~~<font color="Red"><strong>待遇特别好,有钱,就是任性。</strong> </font></a><br />
    <br />
    <br />
    <a href="http://bbs.anjian.com/t
    2#

    111111111111111111111

    3#

    76666666666666

    4#

    刚刚

    5#

    QUI制作音乐播放器

    6#


    7#

    新手学习

    8#

    回复 1楼果果。。的帖子

    能播放网络资源吗?

    9#

    看一看

    10#

    必须学习一下的

    11#

    54165165165165

    12#

    怎么实现

    13#

    很好很给力的播放器。

    14#

    沙发,真是沙发~~~~

    15#

    来学习的

    16#


    17#

    再看看

    18#

    4521lkjjh

    19#

    音乐播放器

    20#

    不知道QUI界面怎么实现,学习

    发新话题 回复该主题