Gewusst wie: Wiedergabe von Audiodateien mithilfe von Visual Basic .NET oder Visual Basic 2005

Artikel-ID: 821767 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser schrittweise aufgebaute Artikel beschreibt die Wiedergabe von Audiodateien mithilfe von Microsoft Visual Basic .NET oder Microsoft Visual Basic 2005. Dieser Artikel enthält auch Beispielcode, die Konzepte veranschaulicht, die in der Artikel behandelt werden.

Voraussetzungen

Die folgende Liste führt die empfohlene Hardware, Software, Netzwerkinfrastruktur und Servicepacks, die Sie benötigen:
  • Microsoft Windows Server 2003, Microsoft Windows 2000, Microsoft Windows XP oder Microsoft Windows XP Service Pack 1
  • Visual Basic .NET oder Visual Basic 2005
Hinweis: Der Code, der in diesem Artikel bereitgestellt wird, wird unter Microsoft Windows Server 2003 nicht unterstützt.

In diesem Artikel wird vorausgesetzt, dass Sie über Erfahrungen auf den folgenden Gebieten verfügen:
  • Visual Basic .NET oder Visual Basic 2005-Programmierung
  • Windows Media Player-Softwareentwicklung kit (SDK)
  • Komponente (Object Model)-Interoperabilität in Visual Basic .NET oder Visual Basic 2005

Erstellen Sie eine Windows-Anwendung

  1. Starten Sie Microsoft Visual Studio .NET oder Microsoft Visual Basic 2005.
  2. Zeigen im Menü Datei auf neu , und klicken Sie dann auf Projekt .
  3. Klicken Sie unter Projekttypen auf Visual Basic-Projekte .

    Hinweis: Klicken Sie in Visual Studio 2005 unter Projekttypen auf Visual Basic .
  4. Klicken Sie unter Vorlagen auf Windows Application .
  5. Geben Sie in das Feld Name AudioDemo und klicken Sie dann auf OK . Standardmäßig ist Form1.vb erstellt.

Ein Windows Media Player-Steuerelement der Anwendung hinzufügen

  1. Starten Sie Visual Studio .NET oder Visual Studio 2005.
  2. Klicken Sie im Menü Extras auf Option-Toolboxelemente .

    Hinweis: Klicken Sie in Visual Studio .NET 2002 im Menü Extras auf Toolbox anpassen .

    Klicken Sie in Visual Studio 2005 auf Toolboxelemente auswählen auf Tools im Menü.
  3. Klicken Sie auf die Registerkarte COM-Komponenten , und klicken Sie dann auf Durchsuchen .
  4. Klicken Sie dann auf Msdxm.ocx und klicken Sie dann auf Öffnen .

    Hinweis: Msdxm.ocx befindet sich normalerweise in %WINDIR% / System32, wobei %WINDIR% der Speicherort des Windows-Verzeichnisses auf dem Computer ist.
  5. In der Toolbox anpassen oder Wählen Toolboxelement Dialogfeld Feld, klicken Sie auf OK . In Visual Studio .NET 2003 und Visual Studio 2005, ein WindowsMediaPlayer -Steuerelement wird der Toolbox hinzugefügt. In Visual Studio .NET 2002 wird ein MediaPlayer -Steuerelement der Toolbox hinzugefügt.
  6. Fügen Sie in Visual Studio .NET 2003 oder in Visual Studio 2005 eine WindowsMediaPlayer -Steuerelement zu Form1 hinzu. Fügen Sie in Visual Studio .NET 2002 ein MediaPlayer -Steuerelement.
  7. AxMediaPlayer1 wird Form1 hinzugefügt.

Hinzufügen von Schaltflächen zum Steuern der Medienwiedergabe

  1. Fügen Sie vier Button -Steuerelemente zu Form1 hinzu.
  2. Klicken Sie auf Button1 .
  3. Ändern Sie im Bereich Eigenschaften die Text -Eigenschaft von Button1 zu Laden .
  4. Klicken Sie auf Button2 .
  5. Ändern Sie im Bereich Eigenschaften die Text Eigenschaft der Wiedergabe .
  6. Klicken Sie auf Button3 .
  7. Ändern Sie im Eigenschaften die Text -Eigenschaft von Button3 auf Anhalten .
  8. Klicken Sie auf Button4 .
  9. Ändern Sie im Bereich Eigenschaften die Text -Eigenschaft des Button4 zu beenden .

Hinzufügen eines OpenFileDialog-Komponente zum Laden einer Audiodatei

Fügen Sie eine OpenFileDialog -Komponente zu Form1 hinzu.

Hinzufügen von Code initialisieren

  1. Klicken Sie im Menü Ansicht auf Code .
  2. Suchen Sie im Bereich "Vom Windows Formulardesigner Generierter Code" folgenden Code:
    InitializeComponent()
  3. Fügen Sie den folgenden Code nach den Code, das Sie in Schritt 2:
    ' Disable the Play, the Pause, and the Stop buttons.
    Button2.Enabled = False
    Button3.Enabled = False
    Button4.Enabled = False
    
    ' Hide the Windows Media Player.
    AxMediaPlayer1.Visible = False
    

Hinzufügen von Code zum Laden einer Audiodatei

  1. Klicken Sie im Menü Ansicht auf Designer .
  2. Doppelklicken Sie auf das Steuerelement Laden , und fügen Sie dem Button1_Click -Ereignishandler folgenden Code hinzu:
    ' Reset the file names for the Open File dialog box and for the Media Player.
    OpenFileDialog1.FileName = ""
    AxMediaPlayer1.FileName = ""
    ' Display the Open File dialog box.
    OpenFileDialog1.ShowDialog()
    ' Verify that Cancel was not clicked.
    If Not OpenFileDialog1.FileName = "" Then
       ' Disable the Load button.
       Button1.Enabled = False
       ' Prevent the Media Player from automatically playing loaded files.
       AxMediaPlayer1.AutoStart = False
       ' Set the Media Player audio file.
       AxMediaPlayer1.FileName = OpenFileDialog1.FileName
       MessageBox.Show("The following file has been loaded in the Media Player control: " + AxMediaPlayer1.FileName)
       ' Enable the Play button.
       Button2.Enabled = True
    Else
       ' Disable the Play button.
       Button2.Enabled = False
    End If

Hinzufügen von Code zum Wiedergeben einer Audiodatei

  1. Klicken Sie im Menü Ansicht auf Designer .
  2. Doppelklicken Sie auf das Steuerelement wiedergegeben , und fügen Sie dem Button2_Click -Ereignishandler folgenden Code hinzu:
    ' Disable the Load and the Play buttons.
    Button1.Enabled = False
    Button2.Enabled = False
    ' Play the audio file.
    AxMediaPlayer1.Play()
    ' Enable the Pause and the Stop buttons.
    Button3.Enabled = True
    Button4.Enabled = True

Hinzufügen von Code, um eine Audiodatei anhalten

  1. Klicken Sie im Menü Ansicht auf Designer .
  2. Doppelklicken Sie auf das Steuerelement Anhalten , und fügen Sie dann an den Button3_Click -Ereignishandler den folgenden Code hinzu:
    ' Disable the Pause button.
    Button3.Enabled = False
    ' Pause the audio file.
    AxMediaPlayer1.Pause()
    ' Enable the Play button.
    Button2.Enabled = True

Hinzufügen von Code eine Audiodatei zu beenden.

  1. Klicken Sie im Menü Ansicht auf Designer .
  2. Doppelklicken Sie auf das Steuerelement Beenden , und fügen Sie dann den folgenden Code an den Ereignishandler Button4_Click :
    ' Disable the Pause and the Stop buttons.
    Button3.Enabled = False
    Button4.Enabled = False
    ' Stop playing the audio file, and then reset the next play position to the beginning.
    AxMediaPlayer1.Stop()
    AxMediaPlayer1.CurrentPosition = 0
    ' Enable the Load and the Play buttons.
    Button1.Enabled = True
    Button2.Enabled = True

Beispiel Codeauflistung (Form1.vb)

Option Strict On

Public Class Form1
    Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "

    Public Sub New()
        MyBase.New()

        ' This call is required by the Windows Form Designer.
      InitializeComponent()

      ' Disable the Play, the Pause, and the Stop buttons.
      Button2.Enabled = False
      Button3.Enabled = False
      Button4.Enabled = False

      ' Hide the Media Player.
      AxMediaPlayer1.Visible = False
      
        ' Add any initialization after the InitializeComponent() call.

    End Sub

    ' Form overrides Dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    ' Required by the Windows Form Designer.
    Private components As System.ComponentModel.IContainer

    ' NOTE: The following procedure is required by the Windows Form Designer
    ' It can be modified using the Windows Form Designer.  
    ' Do not modify it using the code editor.
   Friend WithEvents AxMediaPlayer1 As AxMediaPlayer.AxMediaPlayer
   Friend WithEvents Button1 As System.Windows.Forms.Button
   Friend WithEvents Button2 As System.Windows.Forms.Button
   Friend WithEvents Button3 As System.Windows.Forms.Button
   Friend WithEvents Button4 As System.Windows.Forms.Button
   Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog
   <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
      Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(Form1))
      Me.AxMediaPlayer1 = New AxMediaPlayer.AxMediaPlayer
      Me.Button1 = New System.Windows.Forms.Button
      Me.Button2 = New System.Windows.Forms.Button
      Me.Button3 = New System.Windows.Forms.Button
      Me.Button4 = New System.Windows.Forms.Button
      Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog
      CType(Me.AxMediaPlayer1, System.ComponentModel.ISupportInitialize).BeginInit()
      Me.SuspendLayout()
      '
      'AxMediaPlayer1
      '
      Me.AxMediaPlayer1.Location = New System.Drawing.Point(224, 0)
      Me.AxMediaPlayer1.Name = "AxMediaPlayer1"
      Me.AxMediaPlayer1.OcxState = CType(resources.GetObject("AxMediaPlayer1.OcxState"), System.Windows.Forms.AxHost.State)
      Me.AxMediaPlayer1.Size = New System.Drawing.Size(286, 225)
      Me.AxMediaPlayer1.TabIndex = 0
      '
      'Button1
      '
      Me.Button1.Location = New System.Drawing.Point(16, 72)
      Me.Button1.Name = "Button1"
      Me.Button1.TabIndex = 1
      Me.Button1.Text = "Load"
      '
      'Button2
      '
      Me.Button2.Location = New System.Drawing.Point(32, 104)
      Me.Button2.Name = "Button2"
      Me.Button2.TabIndex = 2
      Me.Button2.Text = "Play"
      '
      'Button3
      '
      Me.Button3.Location = New System.Drawing.Point(40, 136)
      Me.Button3.Name = "Button3"
      Me.Button3.TabIndex = 3
      Me.Button3.Text = "Pause"
      '
      'Button4
      '
      Me.Button4.Location = New System.Drawing.Point(56, 192)
      Me.Button4.Name = "Button4"
      Me.Button4.TabIndex = 4
      Me.Button4.Text = "Stop"
      '
      'Form1
      '
      Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
      Me.ClientSize = New System.Drawing.Size(712, 397)
      Me.Controls.Add(Me.Button4)
      Me.Controls.Add(Me.Button3)
      Me.Controls.Add(Me.Button2)
      Me.Controls.Add(Me.Button1)
      Me.Controls.Add(Me.AxMediaPlayer1)
      Me.Name = "Form1"
      Me.Text = "Form1"
      CType(Me.AxMediaPlayer1, System.ComponentModel.ISupportInitialize).EndInit()
      Me.ResumeLayout(False)

   End Sub

#End Region

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      ' Reset the file names for the Open dialog box and for the Media Player.
      OpenFileDialog1.FileName = ""
      AxMediaPlayer1.FileName = ""
      ' Display the Open File dialog box.
      OpenFileDialog1.ShowDialog()
      ' Verify that Cancel was not clicked.
      If Not OpenFileDialog1.FileName = "" Then
         ' Disable the Load button.
         Button1.Enabled = False
         ' Prevent the Media Player from automatically playing loaded files.
         AxMediaPlayer1.AutoStart = False
         ' Set the Media Player audio file.
         AxMediaPlayer1.FileName = OpenFileDialog1.FileName
         MessageBox.Show("The following file has been loaded in the Media Player control: " + AxMediaPlayer1.FileName)
         ' Enable the Play button.
         Button2.Enabled = True
      Else
         ' Disable the Play button.
         Button2.Enabled = False
      End If
   End Sub

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
      ' Disable the Load and the Play buttons.
      Button1.Enabled = False
      Button2.Enabled = False
      ' Play the audio file.
      AxMediaPlayer1.Play()
      ' Enable the Pause and the Stop buttons.
      Button3.Enabled = True
      Button4.Enabled = True
   End Sub

   Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
      ' Disable the Pause button.
      Button3.Enabled = False
      ' Pause the audio file.
      AxMediaPlayer1.Pause()
      ' Enable the Play button.
      Button2.Enabled = True
   End Sub

   Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
      ' Disable the Pause and the Stop buttons.
      Button3.Enabled = False
      Button4.Enabled = False
      ' Stop playing the audio file, and then reset the next play position to the beginning.
      AxMediaPlayer1.Stop()
      AxMediaPlayer1.CurrentPosition = 0
      ' Enable the Load and the Play buttons.
      Button1.Enabled = True
      Button2.Enabled = True
   End Sub
End Class
Hinweis: Sie müssen den Code in Visual Basic 2005 ändern. Standardmäßig erstellt Visual Basic zwei Dateien für das Projekt beim Erstellen eines Windows Forms-Projekt. Wenn das Formular Form1 benannt ist, werden die beiden Dateien, die das Formular darstellen Form1.vb und Form1.Designer.vb benannt. Schreiben Sie Code, in der Datei Form1.vb. Windows Forms-Designer schreibt den Code in der Datei Form1.Designer.vb. Windows Forms-Designer verwendet das partielle Schlüsselwort, um die Implementierung von Form1 in zwei separate Dateien aufzuteilen. Dieses Verhalten verhindert, dass den Designer generierten Code mit dem Code eingefügt wird.

Weitere Informationen über die neuen Sprachverbesserungen von Visual Basic 2005 die folgenden Microsoft Developer Network (MSDN)-Website:
http://msdn2.microsoft.com/en-us/library/ms379584(vs.80).aspx
Weitere Informationen zu partiellen Klassen und der Windows Forms-Designer finden Sie auf folgenden MSDN-Website:
http://msdn2.microsoft.com/en-us/library/ms171843.aspx

Stellen Sie sicher, dass der Code funktioniert

  1. Klicken Sie im Menü Erstellen auf Erstellen Projektmappen .
  2. Klicken Sie zum Ausführen der Anwendung im Debug auf Starten . Form1 wird angezeigt.
  3. Klicken Sie auf Laden . Öffnen das Dialogfeld wird angezeigt.
  4. Suchen Sie und wählen Sie eine beliebige gültige Audiodatei, und klicken Sie dann auf Öffnen . Ein Meldungsfeld mit dem vollständigen Dateipfad angezeigt wird.
  5. Klicken Sie auf OK , um das Meldungsfeld zu schließen.
  6. Klicken Sie auf Wiedergabe , um Wiedergabe der audio-Datei zu starten. Hören Sie entsprechende Audioausgabe.

    Hinweis: Nur wenn Ihr Computer eine Soundkarte verfügt, die ordnungsgemäß konfiguriert ist und Sie Earphones, Lautsprecher oder Kopfhörer, verwenden um die Ausgabe zu hören, hören Sie Audioausgabe.
  7. Klicken Sie auf Anhalten oder Beenden , um Audioausgabe aus Ihrer Anwendung zu steuern.

Problembehandlung

  • Nur wenn Ihr Computer eine Soundkarte verfügt, die ordnungsgemäß konfiguriert ist und Sie Earphones, Lautsprecher oder Kopfhörer, verwenden um die Ausgabe zu hören, hören Sie die Audioausgabe.
  • Möglicherweise hören Sie Audioausgabe, bevor Sie auf Wiedergabe klicken. Dieses Verhalten, wenn die AutoStart -Eigenschaft des Ihren Media Player nicht auf false festgelegt ist. Standardmäßig wird die AutoStart -Eigenschaft auf true festgelegt. Um dieses Problem zu umgehen, suchen Sie die folgende Zeile im Bereich "Vom Windows Formulardesigner Generierter Code":
    InitializeComponent()
    und fügen Sie den folgenden Code nach den Code, der Sie gefunden haben.
    ' Prevent the Media Player from automatically playing loaded files.
    AxMediaPlayer1.AutoStart = False
  • Wenn Sie auf Beenden und klicken Sie dann auf Wiedergabe klicken, wird die Audiodatei möglicherweise nicht gestartet Wiedergabe vom Anfang. Stattdessen wird die Audiodatei Wiedergabe aus, in dem die Datei Wiedergabe beendet gestartet. Dieses Verhalten, wenn die Wiedergabe-Position nicht an den Anfang der Audiodatei zurückgesetzt wird. Verwenden Sie um dieses Problem zu umgehen, den folgenden Code in die Ereignishandler Button4_Click :
    AxMediaPlayer1.CurrentPosition = 0
  • In diesem Beispiel wird möglicherweise nicht Audioformate wiedergegeben, die nicht von Windows Media Player unterstützt werden.

Informationsquellen

Informationen finden Sie auf den folgenden Websites von Microsoft Developer Network (MSDN):
Windows Media Player 6.4-SDK
http://msdn2.microsoft.com/en-us/library/ms984011.aspx
COM-Interop
http://msdn2.microsoft.com/en-us/library/6bw51z5z(vs.71).aspx

Eigenschaften

Artikel-ID: 821767 - Geändert am: Montag, 26. November 2007 - Version: 2.8
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Keywords: 
kbmt kbvs2005applies kbvs2005swept kbwaveaudio kbsdk kbcominterop kbcomctrls kbsound kbinterop kbappdev kbctrl kbcontrol kbprogramming kbsample kbhowtomaster KB821767 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 821767
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns