www.pudn.com > bofangqi.rar > Form1.vb
Public Class Form1
Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Integer, ByVal Y1 As Integer, ByVal X2 As Integer, ByVal Y2 As Integer) As Integer
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Integer, ByVal hrgn As Integer, ByVal bRedraw As Boolean) As Integer
Private Declare Function auxSetVolume Lib "winmm.dll" (ByVal uDeviceID As Integer, ByVal dwVolume As Integer) As Integer
Private Declare Function waveOutGetVolume Lib "winmm.dll" (ByVal uDeviceID As Integer, ByRef lpdwVolume As Integer) As Integer
Private Declare Function waveOutSetVolume Lib "winmm.dll" (ByVal uDeviceID As Integer, ByVal dwVolume As Integer) As Integer
Dim CurIndex As Integer = 0
Private Sub btnPlay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPlay.Click
On Error GoTo handler
With OpenFileDialog1
'.InitialDirectory = Application.StartupPath
MediaPlayer1.Command = "open"
MediaPlayer1.Command = "play"
TextBox1.Text = " 正在播放:" & .FileName
btnPause.Enabled = True
btnContinue.Enabled = False
btnStop.Enabled = True
btnPrev.Enabled = True
btnNext.Enabled = True
btnContinue.Enabled = True
btnPlay.Enabled = False
Exit Sub
End With
handler:
MsgBox("未选择媒体文件。", MsgBoxStyle.OkOnly, "错误信息")
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim lres As Object
Dim hrgn As Object
'UPGRADE_WARNING: 未能解析对象 hrgn 的默认属性。 单击以获得更多信息:ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
hrgn = CreateEllipticRgn(0, 40, 650, 460)
'UPGRADE_WARNING: 未能解析对象 hrgn 的默认属性。 单击以获得更多信息:ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
'UPGRADE_WARNING: 未能解析对象 lres 的默认属性。 单击以获得更多信息:ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
lres = SetWindowRgn(Me.Handle.ToInt32, hrgn, True)
'MediaPlayer1.Visible = False
btnContinue.Enabled = False
btnPause.Enabled = False
btnStop.Enabled = False
btnPrev.Enabled = False
btnNext.Enabled = False
btnPlay.Enabled = False
TextBox1.Text = "本播放器支持各种音乐格式。谢谢使用。"
TextBox1.BackColor = System.Drawing.Color.Black
TextBox1.ForeColor = System.Drawing.Color.Yellow
TrackBar2.Minimum = 0
TrackBar2.Maximum = 10240
End Sub
Private Sub btnPause_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPause.Click
TextBox1.Focus()
MediaPlayer1.Command = "pause"
btnPause.Enabled = False
btnContinue.Enabled = True
End Sub
Private Sub btnContinue_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnContinue.Click
TextBox1.Focus()
MediaPlayer1.Command = "play"
btnPlay.Enabled = False
btnPause.Enabled = True
btnContinue.Enabled = False
End Sub
Private Sub btnStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStop.Click
MediaPlayer1.Command = "stop"
btnPlay.Enabled = True
btnPause.Enabled = False
btnContinue.Enabled = False
btnStop.Enabled = False
End Sub
Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
End
End Sub
Private Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick
MediaPlayer1.Command = "close"
MediaPlayer1.FileName = ListBox1.Text
MediaPlayer1.Command = "open"
MediaPlayer1.Command = "play"
CurIndex = ListBox1.SelectedIndex
TrackBar1.Minimum = 0
TrackBar1.Maximum = MediaPlayer1.Length
Label1.Text = "总时长:" & TimeToStr(MediaPlayer1.Length)
End Sub
Private Sub btnPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrev.Click
If CurIndex > 0 Then
CurIndex = CurIndex - 1
Else
CurIndex = ListBox1.Items.Count - 1
End If
MediaPlayer1.Command = "close"
MediaPlayer1.FileName = ListBox1.Items.Item(CurIndex)
MediaPlayer1.Command = "open"
MediaPlayer1.Command = "play"
ListBox1.SelectedIndex = CurIndex
TrackBar1.Minimum = 0
TrackBar1.Maximum = MediaPlayer1.Length
Label1.Text = "总时长:" & TimeToStr(MediaPlayer1.Length)
End Sub
Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click
If CurIndex < ListBox1.Items.Count - 1 Then
CurIndex = CurIndex + 1
Else
CurIndex = 0
End If
MediaPlayer1.Command = "close"
MediaPlayer1.FileName = ListBox1.Items.Item(CurIndex)
MediaPlayer1.Command = "open"
MediaPlayer1.Command = "play"
ListBox1.SelectedIndex = CurIndex
TrackBar1.Minimum = 0
TrackBar1.Maximum = MediaPlayer1.Length
Label1.Text = "总时长:" & TimeToStr(MediaPlayer1.Length)
End Sub
Private Sub MediaPlayer1_PauseClick(ByVal sender As Object, ByVal e As AxMCI.DmciEvents_PauseClickEvent) Handles MediaPlayer1.PauseClick
'Call btnPause_Click(btnPause, New System.EventArgs)
End Sub
Private Sub MediaPlayer1_PlayClick(ByVal sender As Object, ByVal e As AxMCI.DmciEvents_PlayClickEvent) Handles MediaPlayer1.PlayClick
Call btnPlay_Click(btnPlay, New System.EventArgs)
End Sub
Private Sub MediaPlayer1_StatusUpdate(ByVal sender As Object, ByVal e As System.EventArgs) Handles MediaPlayer1.StatusUpdate
If MediaPlayer1.Position = MediaPlayer1.Length Then
Call btnNext_Click(btnNext, New System.EventArgs)
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click
TextBox1.Focus()
On Error GoTo handler
With OpenFileDialog1
'.InitialDirectory = Application.StartupPath
.InitialDirectory = "e:\音乐"
.Filter = "Midi Files(*.mid)|*.mid|MP3 Files(*.mp3)|*.mp3|Wave Filse(*.wav)|*.wav|(*.m3u)|*.m3u"
.FilterIndex = 2
.FileName = ""
.Multiselect = True
.ShowDialog()
MediaPlayer1.FileName = .FileName
MediaPlayer1.Command = "open"
MediaPlayer1.Command = "play"
TextBox1.Text = " 正在播放:" & .FileName
btnPlay.Enabled = False
btnPause.Enabled = True
btnContinue.Enabled = False
btnStop.Enabled = True
btnPrev.Enabled = True
btnNext.Enabled = True
Dim FileNam As String
For Each FileNam In .FileNames
ListBox1.Items.Add(FileNam)
Next FileNam
ListBox1.SelectedIndex = 0
End With
TrackBar1.Minimum = 0
TrackBar1.Maximum = MediaPlayer1.Length
Label1.Text = "总时长:" & TimeToStr(MediaPlayer1.Length)
Exit Sub
handler:
MsgBox("未选择媒体文件。", MsgBoxStyle.OkOnly, "错误信息")
End Sub
Private Sub MediaPlayer1_BackClick(ByVal sender As System.Object, ByVal e As AxMCI.DmciEvents_BackClickEvent) Handles MediaPlayer1.BackClick
'Call btnPlay_Click(btnPlay, New System.EventArgs)
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
TrackBar1.Value = MediaPlayer1.Position
Label2.Text = "播放到:" & TimeToStr(MediaPlayer1.Position)
Label3.Text = "剩余时间:" & TimeToStr(MediaPlayer1.Length - MediaPlayer1.Position)
End Sub
Private Sub TrackBar1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TrackBar1.MouseDown
If e.Button = Windows.Forms.MouseButtons.Left Then
Timer1.Enabled = False
End If
End Sub
Private Sub TrackBar1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TrackBar1.MouseUp
If e.Button = Windows.Forms.MouseButtons.Left Then
MediaPlayer1.Command = "close"
MediaPlayer1.Command = "open"
MediaPlayer1.From = TrackBar1.Value
MediaPlayer1.Command = "play"
Timer1.Enabled = True
End If
End Sub
Private Function TimeToStr(ByVal intTime As Integer) As String '格式化时间
Dim Ret As String
Dim Sec As Integer
Dim H As Integer, M As Integer, S As Integer
Sec = Math.Round(intTime / 1000)
H = Sec \ 3600
If H < 10 Then
Ret = "0" & H & ":"
Else
Ret = H & ":"
End If
M = (Sec Mod 3600) \ 60
If M < 10 Then
Ret = Ret & "0" & M & ":"
Else
Ret = Ret & M & ":"
End If
S = (Sec Mod 60)
If S < 10 Then
Ret = Ret & "0" & S
Else
Ret = Ret & S
End If
Return Ret
End Function
Private Sub CMAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMAdd.Click
Call Button1_Click(btnOpen, New System.EventArgs)
End Sub
Private Sub CMDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMDel.Click
Dim SelectIndex As ListBox.SelectedIndexCollection '首先定义一个全局变量
Dim Array_Index() As Integer
'取出选中的每一行的行号
SelectIndex = ListBox1.SelectedIndices
ReDim Array_Index(SelectIndex.Count - 1)
Dim i As Integer
For i = SelectIndex.Count - 1 To 0 Step -1
Array_Index(i) = SelectIndex.Item(i)
ListBox1.Items.RemoveAt(Array_Index(i))
Next
End Sub
Private Sub CMSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMSave.Click
Dim FileNum As Integer
Dim FileName As String
Dim i As Integer
FileNum = FreeFile()
SaveFileDialog1.ShowDialog()
FileName = SaveFileDialog1.FileName
FileOpen(FileNum, FileName, OpenMode.Output)
For i = 0 To ListBox1.Items.Count - 1
PrintLine(FileNum, ListBox1.Items.Item(i))
Next
FileClose(FileNum)
End Sub
Private Sub CMOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CMOpen.Click
Dim FileNum As Integer
Dim FileName As String
Dim ListText As String
ListBox1.Items.Clear()
FileNum = FreeFile()
OpenFileDialog2.ShowDialog()
FileName = OpenFileDialog2.FileName
FileOpen(FileNum, FileName, OpenMode.Input)
Do While Not EOF(FileNum)
ListText = LineInput(FileNum)
ListBox1.Items.Add(ListText)
Loop
FileClose(FileNum)
End Sub
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub TrackBar2_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar2.Scroll
Dim a As Object
Dim uDeviceID As Object
Dim b As Integer
a = auxSetVolume(0, 15)
a = waveOutSetVolume(uDeviceID, -11100)
a = waveOutGetVolume(uDeviceID, b)
TextBox1.Text = b
End Sub
End Class