发布网友 发布时间:2022-04-23 20:17
共2个回答
热心网友 时间:2022-05-19 09:17
配上炫酷的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、 把浏览框里的路径进行分割,把分割得到的歌曲名称添加到播放列表框。
代码:
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 Plugin.Media.Stop()
Form1.显示播放状态.Caption = "停止"
Else
Form1.播放.Picture = ".\暂停.jpg"
Call Plugin.Media.Play(myarray(hanghao)) //播放列表文件,使用相对路径
Form1.显示播放状态.Caption = "播放"
End If
js = js + 1
3、 上一首按钮(下一首按钮)
先停止当前播放的音乐,将播放列表框的listIndex (列表当前选中的行号)加一(下一首是减一),然后播放音乐。
代码:
If Form1.播放列表.listIndex = 0 Then
//如果播放到最前一首,弹出提示框
MessageBox"已经是最前一首!"
Else
//首先停止上一首
Call Plugin.Media.Stop()
Delay 100
Form1.播放.Picture = ".\暂停.jpg"
Call Plugin.Media.Play(myarray(hanghao - 1))
hanghao = hanghao - 1
Form1.播放列表.listIndex = Form1.播放列表.listIndex - 1
End If
4、 音量添加按钮(音量减少按钮),每点击一次,声量控制进度条的值就增加10%,设置播放器的音量为当前进度条的值。
代码:
Form1.声量进度条.Value = Form1.声量进度条.Value + 100/10 //进度条显示每次增加10%音量
Call Plugin.Media.Vol(Form1.声量进度条.Value) //音量控制
5、 控件背景颜色、字体调整等,这些视觉调整比较耗费时间,大家可以根据自己的喜好设置属于自己风格的界面。
整个音乐播放器代码如下:
Public js
// 定义一个全局变量,用来记录播放按钮的点击次数,奇数显示播放按钮图标,偶数显示暂停按钮图片
//先写音量控制
Event Form1.音量增加.Click
Form1.声量进度条.Value = Form1.声量进度条.Value + 100/10 //进度条显示每次增加10%音量
Call Plugin.Media.Vol(Form1.声量进度条.Value) //音量控制
End Event
Event Form1.音量减少.Click
Form1.声量进度条.Value = Form1.声量进度条.Value - 100/10 //进度条显示每次减少10%音量
Call Plugin.Media.Vol(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 Plugin.Media.Vol(Form1.声量进度条.Value)
Form1.播放列表.ListIndex = 歌曲名字// 设置播放列表里默认选中为当前添加的歌曲
Form1.浏览框.Visible = false
Form1.添加.Visible = false
Form1.Add.Visible = 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 Plugin.Media.Stop()
Form1.显示播放状态.Caption = "停止"
Else
Form1.播放.Picture = ".\暂停.jpg"
Call Plugin.Media.Play(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 Plugin.Media.Stop()
Delay 100
Form1.播放.Picture = ".\暂停.jpg"
Call Plugin.Media.Play(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 Plugin.Media.Stop()
Delay 100
Form1.播放.Picture = ".\暂停.jpg"
Call Plugin.Media.Play(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.Add.Click
Form1.浏览框.Visible = True
Form1.添加.Visible = True
Form1.Add.Visible = false
// 显示添加歌曲的浏览框等,隐藏Add按钮
End Event
热心网友 时间:2022-05-19 10:35
去百度经验搜索就会出来了