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
Starten Sie Microsoft Visual Studio .NET oder Microsoft Visual Basic 2005.
Zeigen im Menü Datei auf neu , und klicken Sie dann auf Projekt .
Klicken Sie unter Projekttypen auf Visual Basic-Projekte .
Hinweis: Klicken Sie in Visual Studio 2005 unter Projekttypen auf Visual Basic .
Klicken Sie unter Vorlagen auf Windows Application .
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
Starten Sie Visual Studio .NET oder Visual Studio 2005.
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ü.
Klicken Sie auf die Registerkarte COM-Komponenten , und klicken Sie dann auf Durchsuchen .
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.
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.
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.
AxMediaPlayer1 wird Form1 hinzugefügt.
Hinzufügen von Schaltflächen zum Steuern der Medienwiedergabe
Fügen Sie vier Button -Steuerelemente zu Form1 hinzu.
Klicken Sie auf Button1 .
Ändern Sie im Bereich Eigenschaften die Text -Eigenschaft von Button1 zu Laden .
Klicken Sie auf Button2 .
Ändern Sie im Bereich Eigenschaften die Text Eigenschaft der Wiedergabe .
Klicken Sie auf Button3 .
Ändern Sie im Eigenschaften die Text -Eigenschaft von Button3 auf Anhalten .
Klicken Sie auf Button4 .
Ä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
Klicken Sie im Menü Ansicht auf Code .
Suchen Sie im Bereich "Vom Windows Formulardesigner Generierter Code" folgenden Code:
InitializeComponent()
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
Klicken Sie im Menü Ansicht auf Designer .
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
Klicken Sie im Menü Ansicht auf Designer .
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
Klicken Sie im Menü Ansicht auf Designer .
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.
Klicken Sie im Menü Ansicht auf Designer .
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:
Klicken Sie im Menü Erstellen auf Erstellen Projektmappen .
Klicken Sie zum Ausführen der Anwendung im Debug auf Starten . Form1 wird angezeigt.
Klicken Sie auf Laden . Öffnen das Dialogfeld wird angezeigt.
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.
Klicken Sie auf OK , um das Meldungsfeld zu schließen.
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.
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.
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
(http://support.microsoft.com/kb/821767/en-us/
)
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.
Danke! Dieses Feedback hilft uns dabei, die Supportartikel weiter zu verbessern. Weitere Informationen finden Sie auf der Hilfe und Support-Startseite.