2023年7月11日发(作者:)
学会用按键精灵制作脚本之QUI界面教程:制作音乐播放器
来源:按键学院 【按键精灵】
配上炫酷的Gif图片,简单的音乐播放器就算完成了。楼主忍不住陶醉许久,QUI界面原来也是可以如此美腻的,哦吼吼~~
最终效果图:
我们肉眼看到的,这个播放器上只有按钮,进度条,列表框,标签,其实还有一个浏览框和按钮是隐藏的。
我们先来了解下,listbox列表控件、BrowseBox1浏览框控件、ProgressBar1进度条控件。
上表格~今天会用到的属性会用红色字体标注出来。
ListBox 列表框
●基本
属性1,名称(Name)
属性2,显示(Visible)
属性3,有效(Enabled)
属性4,列表内容(List)
●位置:
属性1,左边(Left)
属性2,上边(Top)
属性3,宽度属性3,字体(Font)
(Width)
属性4,高度(Height)
属性5,显示顺序
(ZOrder)
(InsertItem)
方法4,删除列表项目(RemoveItem)
方法5,返回列表当前选中的行号(ListIndex)
●其他:
属性1,文字颜色(TextColor)
属性2,背景颜色(BackColor)
●方法:
方法1,返回列表行数数量(ListCount)
方法2,新增列表项目(AddItem)
方法3,插入列表项目BrowseBox 浏览框
●基本: ●位置:
●其他:
属性1,文字颜色(TextColor) 属性1,名称(Name) 属性1,左边(Left) 属性2,显示(Visible) 属性2,上边(Top)
属性3,有效(Enabled) 属性3,宽度(Width)
属性4,路径(Path) 属性4,高度(Height)
属性2,背景颜色(BackColor)
属性3,字体(Font)
属性4,浏览样式(Style)
属性5,显示顺序(ZOrder) 属性5,过滤条件(Filter)
ProgressBar 进度条
●基本:
属性1,名称(Name)
●位置:
属性1,左边(Left)
其他:
属性1,方向(Orientation)
隐藏属性:进度(Value) 属性2,显示(Visible) 属性2,上边(Top)
属性3,有效(Enabled) 属性3,宽度(Width)
属性4,高度(Height)
属性5,显示顺序(ZOrder)
音乐播放器的实现步骤是十分简单的,来,咱们手牵手一起去看看是怎么实现的。
步骤:
1、 把浏览框里的路径进行分割,把分割得到的歌曲名称添加到播放列表框。
代码:
If Form1.浏览框.Path <> "" Then //判断打开的路径是否为空
SearchString = Form1.浏览框.Path //设置要搜索的字符串
SearchChar = "" //搜索
MyPos = InstrRev(SearchString, SearchChar) //搜索字符""在SearchString里面出现的从结尾计起的位置
l = Len(SearchString) //SearchString的长度
歌曲名字 = Right(SearchString, l - MyPos) //从字符串SearchString右边返回指定数目的字符,现在返回爱你一万年.mp3
Form1.播放列表.AddItem 歌曲名字 //添加歌曲名字到列表框
End If
2、 播放按钮的默认背景图片设置为播放.jpg
定义一个全局变量来记录播放按钮的点击次数,点击次数为奇数时,播放按钮的背景图片设置为暂停.jpg ,并且播放音乐,点击次数为偶数时,播放按钮的背景图片设置为播放.jpg,并且暂停音乐。
代码: If js mod 2 Then
Form1.播放.Picture=".播放.jpg"
Call ()
Form1.显示播放状态.Caption = "停止"
Else
Form1.播放.Picture = ".暂停.jpg"
Call (myarray(hanghao)) //播放列表文件,使用相对路径
Form1.显示播放状态.Caption = "播放"
End If
js = js + 1
3、 上一首按钮(下一首按钮)
先停止当前播放的音乐,将播放列表框的listIndex (列表当前选中的行号)加一(下一首是减一),然后播放音乐。
代码:
If Form1.播放列表.listIndex = 0 Then
//如果播放到最前一首,弹出提示框
MessageBox"已经是最前一首!"
Else
//首先停止上一首
Call ()
Delay 100
Form1.播放.Picture = ".暂停.jpg"
Call (myarray(hanghao - 1))
hanghao = hanghao - 1
Form1.播放列表.listIndex = Form1.播放列表.listIndex - 1
End If
4、 音量添加按钮(音量减少按钮),每点击一次,声量控制进度条的值就增加10%,设置播放器的音量为当前进度条的值。
代码:
Form1.声量进度条.Value = Form1.声量进度条.Value + 100/10 //进度条显示每次增加10%音量 Call (Form1.声量进度条.Value) //音量控制
5、 控件背景颜色、字体调整等,这些视觉调整比较耗费时间,大家可以根据自己的喜好设置属于自己风格的界面。
整个音乐播放器代码如下:
Public js
// 定义一个全局变量,用来记录播放按钮的点击次数,奇数显示播放按钮图标,偶数显示暂停按钮图片
//先写音量控制
Event Form1.音量增加.Click
Form1.声量进度条.Value = Form1.声量进度条.Value + 100/10 //进度条显示每次增加10%音量
Call (Form1.声量进度条.Value) //音量控制
End Event
Event Form1.音量减少.Click
Form1.声量进度条.Value = Form1.声量进度条.Value - 100/10 //进度条显示每次减少10%音量
Call (Form1.声量进度条.Value) //音量控制
End Event
//写添加歌曲
Event Form1.添加.Click
If Form1.浏览框.Path <> "" Then //判断打开的路径是否为空
SearchString = Form1.浏览框.Path //设置要搜索的字符串
SearchChar = "" //搜索
MyPos = InstrRev(SearchString, SearchChar) //搜索字符""在SearchString里面出现的从结尾计起的位置
l = Len(SearchString) //SearchString的长度
歌曲名字 = Right(SearchString, l - MyPos) //从字符串SearchString右边返回指定数目的字符,现在返回爱你一万年.mp3
Form1.播放列表.AddItem 歌曲名字 //添加歌曲名字到列表框
End If
Form1.声量进度条.Value = 20 //声量默认设置为20
Call (Form1.声量进度条.Value)
Form1.播放列表.ListIndex = 歌曲名字// 设置播放列表里默认选中为当前添加的歌曲
Form1.浏览框.Visible = false
Form1.添加.Visible = false
e = True
//隐藏添加歌曲的浏览框等,显示Add添加按钮
End Event
//**********功能键*********
//播放列表选歌事件
Event Form1.播放列表.Click
//首先,读取播放列表内容 text = Form1.播放列表.list
myarray = split(text, "|") //分割播放列表
hanghao = Form1.播放列表.listIndex //读取行号
// MessageBox myarray(hanghao) //显示该行歌曲名字
End Event
//播放
Event Form1.播放.Click
text = Form1.播放列表.list
myarray = split(text, "|") //分割播放列表
hanghao = Form1.播放列表.listIndex//读取行号
If js mod 2 Then
Form1.播放.Picture=".播放.jpg"
Call ()
Form1.显示播放状态.Caption = "停止"
Else
Form1.播放.Picture = ".暂停.jpg"
Call (myarray(hanghao)) //播放列表文件,使用相对路径
Form1.显示播放状态.Caption = "播放"
End If
js = js + 1
End Event
//停止
//下一首
Event Form1.下一首.Click
text = Form1.播放列表.list
myarray = split(text, "|") //分割播放列表
hanghao = Form1.播放列表.listIndex //读取行号
If Form1.播放列表.listIndex < Form1.播放列表.ListCount-1 Then //当前选中歌曲行号小于播放列表总行号
//首先停止上一首
Call ()
Delay 100
Form1.播放.Picture = ".暂停.jpg"
Call (myarray(hanghao + 1))
hanghao = hanghao + 1
Form1.播放列表.listIndex = Form1.播放列表.listIndex + 1
ElseIf Form1.播放列表.listIndex = Form1.播放列表.ListCount-1 Then
//如果播放到最后一首,弹出提示框
MessageBox "已经是最后一首!"
End If
End Event
//上一首
Event Form1.上一首.Click
text = Form1.播放列表.list myarray = split(text, "|") //分割播放列表
hanghao = Form1.播放列表.listIndex //读取行号
If Form1.播放列表.listIndex = 0 Then
//如果播放到最前一首,弹出提示框
MessageBox"已经是最前一首!"
Else
//首先停止上一首
Call ()
Delay 100
Form1.播放.Picture = ".暂停.jpg"
Call (myarray(hanghao - 1))
hanghao = hanghao - 1
Form1.播放列表.listIndex = Form1.播放列表.listIndex - 1
End If
End Event
//清空列表
Event Form1.清空列表.Click
MsgBox "注意!是否要清空播放列表!", 48, "提示:"
Form1.播放列表.List = "" //清空
End Event
//**********功能键***********
Event
Form1.浏览框.Visible = True
Form1.添加.Visible = True
e = false
// 显示添加歌曲的浏览框等,隐藏Add按钮
End Event
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1689067162a202417.html
评论列表(0条)