按键精灵2014
最终效果图:
我们肉眼看到的,这个播放器上只有按钮,进度条,列表框,标签,其实还有一个浏览框和按钮是隐藏的。
我们先来了解下,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)
音乐播放器的实现步骤是十分简单的,来,咱们手牵手一起去看看是怎么实现的。步骤: 把浏览框里的路径进行分割,把分割得到的歌曲名称添加到播放列表框。
代码: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
1、 播放按钮的默认背景图片设置为播放.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 Ifjs = js + 1
上一首按钮(下一首按钮) 2014-9-22 15:01 上传下载附件 (1.66 KB) 先停止当前播放的音乐,将播放列表框的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 - 1End If
音量添加按钮(音量减少按钮),每点击一次,声量控制进度条的值就增加10%,设置播放器的音量为当前进度条的值。
代码:Form1.声量进度条.Value = Form1.声量进度条.Value + 100/10 //进度条显示每次增加10%音量Call Plugin.Media.Vol(Form1.声量进度条.Value) //音量控制
控件背景颜色、字体调整等,这些视觉调整比较耗费时间,大家可以根据自己的喜好设置属于自己风格的界面。
整个音乐播放器代码如下:Public js// 定义一个全局变量,用来记录播放按钮的点击次数,奇数显示播放按钮图标,偶数显示暂停按钮图片//先写音量控制Event Form1.音量增加.Click Form1.声量进度条.Value = Form1.声量进度条.Value + 100/10 //进度条显示每次增加10%音量 Call Plugin.Media.Vol(Form1.声量进度条.Value) //音量控制End EventEvent 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 + 1End 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 IfEnd 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 IfEnd 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