配上炫酷的Gif圖片,簡單的音樂播放器就算完成了。樓主忍不住陶醉許久,QUI界面原來也是可以如此美膩的,哦吼吼~~
工具/原料
按鍵精靈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 If
js = 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 - 1
End 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 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