VB Tutor VB.NET 2022 Tutorial VB2019 Tutorial VB6 Tutorial VB Sample Code About Us
Visual Basic Sample Code

Visual Basic Audio Player

Create an audio player with VB6 and VB.NET


You can create an audio player that enables you to play MIDI and WAVE files from your hard drives or DVD-ROM. It allows you to change drives and search for the particular sound file that you wish to play.

In this program, you need to add a Combo box, a List Box, a Text Box, a Drive List Box and three command buttons. Change the label of one button to "PLAY", another to "STOP", and the last to "EXIT". Besides, you need to add the MMControl and make it invisible.

This page includes both VB6 and VB.NET implementations along with an interactive demo.

Interactive Audio Player Demo

Select a track to play
Volume Control
Sample Track 1: Piano Sonata
Sample Track 2: Jazz Improv
Sample Track 3: Classical Guitar

Implementation Code

Private Sub Form_Load()
    Top = (Screen.Height - Height) \ 2
    Left = (Screen.Width - Width) \ 2
    Combo1.Text = "*.wav"
    Combo1.AddItem "*.wav"
    Combo1.AddItem "*.mid"
    Combo1.AddItem "All files"
End Sub

Private Sub Combo1_Change()
    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 File1_Click()
    Dim filenam As String
    If Right(File1.Path, 1) <> "\" Then
        filenam = File1.Path & "\" & File1.FileName
    Else
        filenam = File1.Path & File1.FileName
    End If
    Text1.Text = filenam
End Sub

Private Sub Play_Click()
    If Combo1.ListIndex = 0 Then
        MMControl1.DeviceType = "WaveAudio"
    ElseIf Combo1.ListIndex = 1 Then
        MMControl1.DeviceType = "Sequencer"
    End If
    
    MMControl1.FileName = Text1.Text
    MMControl1.Command = "Open"
    MMControl1.Command = "Play"
End Sub

Private Sub Stop_Click()
    If MMControl1.Mode = 524 Then Exit Sub
    If MMControl1.Mode <> 525 Then
        MMControl1.Wait = True
        MMControl1.Command = "Close"
    End If
End Sub

Private Sub Dir1_Change()
    File1.Path = Dir1.Path
    Call Combo1_Change
End Sub

Private Sub Drive1_Change()
    Dir1.Path = Drive1.Drive
End Sub

This VB6 implementation uses the Multimedia Control (MMControl) to play audio files. The interface includes drive, directory, and file selection components.

Public Class AudioPlayerForm
    Private Sub AudioPlayerForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.CenterToScreen()
        ComboBox1.Items.AddRange({"*.wav", "*.mid", "All files"})
        ComboBox1.SelectedIndex = 0
    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
        Select Case ComboBox1.SelectedIndex
            Case 0 : FileListBox1.Pattern = "*.wav"
            Case 1 : FileListBox1.Pattern = "*.mid"
            Case 2 : FileListBox1.Pattern = "*.*"
        End Select
    End Sub

    Private Sub FileListBox1_Click(sender As Object, e As EventArgs) Handles FileListBox1.Click
        TextBox1.Text = If(DirectoryListBox1.Path.EndsWith("\"), 
                          DirectoryListBox1.Path & FileListBox1.FileName, 
                          DirectoryListBox1.Path & "\" & FileListBox1.FileName)
    End Sub

    Private Sub PlayButton_Click(sender As Object, e As EventArgs) Handles PlayButton.Click
        Try
            If ComboBox1.SelectedIndex = 0 Then
                AxWindowsMediaPlayer1.settings.autoStart = True
                AxWindowsMediaPlayer1.URL = TextBox1.Text
            ElseIf ComboBox1.SelectedIndex = 1 Then
                ' For MIDI files in VB.NET, use Windows Media Player or other library
                AxWindowsMediaPlayer1.URL = TextBox1.Text
                AxWindowsMediaPlayer1.Ctlcontrols.play()
            End If
        Catch ex As Exception
            MessageBox.Show("Error playing file: " & ex.Message)
        End Try
    End Sub

    Private Sub StopButton_Click(sender As Object, e As EventArgs) Handles StopButton.Click
        AxWindowsMediaPlayer1.Ctlcontrols.stop()
    End Sub

    Private Sub DirectoryListBox1_Change(sender As Object, e As EventArgs) Handles DirectoryListBox1.Change
        FileListBox1.Path = DirectoryListBox1.Path
        Call ComboBox1_SelectedIndexChanged(Nothing, Nothing)
    End Sub

    Private Sub DriveListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DriveListBox1.SelectedIndexChanged
        DirectoryListBox1.Path = DriveListBox1.Drive
    End Sub
End Class

This VB.NET implementation uses the Windows Media Player control for audio playback. It provides similar functionality to the VB6 version with a more modern approach.

Key Features of the Audio Player

File Navigation

Browse drives and directories to find audio files

File Filtering

Filter by file type (WAV, MIDI, or all files)

Playback Controls

Play, stop, and select tracks

Dual Implementation

VB6 and VB.NET code samples