在上一课中,我们已学习了如何编写一个光碟播放器程序。现在,我们把这个程序稍微修改,把光碟播放器转换成音频文件播放器。此播放器将可以在您的电脑中搜索Wav 和MIDI文件然后把它们播放。
在这个项目中,你需要插入一个ComboBox, 一个drivelistbox , 一个dirlistbox ,一个 TextBox 和一个 filelistbox 到您的表单中(form)。在这中稍后我们会讨论一下上述每个控件的功能。此外,您还必须插入Microsoft多媒体控件( MMControl )在您的表单中,您可选择使它隐蔽或显现。在这个程序中,我选择使它隐蔽,以便让我们可以使用命令按钮来控制播放器。
ComboBox- 显示和选择不同类型的文件。
DriveListBox- 允许您在您的电脑中选择不同的驱动器。
DirListBox - 显示目录
TextBox - 显示选定的文件
FileListBox- 显示可用的档案
我们所编写的程序代码需要协调上述所有控件,使该程序可以正常操作。该程序需根据以下的步骤来编写:
第1步:用户选择他想播放的文件类型,。
第2步:用户选择可能包含有关的音频文件的驱动器。
第3步:用户搜索驱动器中的目录。所有档案应显示在filelistbox中 。
第4步:用户从filelistbox选择文件和点击PLAY按钮来播放音频。
第5步:用户按一下STOP按钮以停止播放音频。
第6步:用户按一下EXIT按钮以结束该应用程序。
程序代码
Private Sub Combo1_Change()
'确定文件类型
If ListIndex = 0 Then
File1.Pattern = ("*.wav")
ElseIf ListIndex = 1 Then
File1.Pattern = ("*.mid")
Else
Fiel1.Pattern = ("*.*")
End If
End Sub
Private Sub Dir1_Change()
'改变目录和子目录(或文件夹和子文件夹)
File1.Path = Dir1.Path
If Combo1.ListIndex = 0 Then
File1.Pattern = ("*.wav")
ElseIf Combo1.ListIndex = 1 Then
File1.Pattern = ("*.mid")
Else
File1.Pattern = ("*.*")
End If
End Sub
Private Sub Drive1_Change()
'转换驱动器
Dir1.Path = Drive1.Drive
End Sub
Private Sub File1_Click()
If Combo1.ListIndex = 0 Then
File1.Pattern = ("*.wav")
ElseIf Combo1.ListIndex = 1 Then
File1.Pattern = ("*.mid")
Else
File1.Pattern = ("*.*")
End If
If Right(File1.Path, 1) <> "\" Then
filenam = File1.Path + "\" + File1.FileName
Else
filenam = File1.Path + File1.FileName
End If
Text1.Text = filenam
End Sub
‘把音频播放器启动页定位于中心
Left = (Screen.Width - Width) \ 2
Top = (Screen.Height - Height) \ 2
Combo1.Text = "*.wav"
Combo1.AddItem "*.wav"
Combo1.AddItem "*.mid"
Combo1.AddItem "All files"
End Sub
Private Sub play_Click()
'播放 WaveAudio 文件 或 Midi File文件
Command2_Click
If Combo1.ListIndex = 0 Then
AudioPlayer.DeviceType = "WaveAudio"
ElseIf Combo1.ListIndex = 1 Then
AudioPlayer.DeviceType = "Sequencer"
End If
AudioPlayer.FileName = Text1.Text
AudioPlayer.Command = "Open"
AudioPlayer.Command = "Play"
End Sub
Private Sub stop_Click()
If AudioPlayer.Mode = 524 Then Exit Sub
If AudioPlayer.Mode <> 525 Then
AudioPlayer.Wait = True
AudioPlayer.Command = "Stop"
End If
AudioPlayer.Wait = True
AudioPlayer.Command = "Close"
End Sub