vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Multimedia & Sound · Audio   |   VB-Versionen: VB.NET17.04.06
MP3 via API abspielen (.NET)

Um einen MP3-Song abzuspielen kann man entweder das Windows-Media-Player Control verwenden, oder auf auf eine einzige API-Funktion zurückgreifen.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  28.049 
www.tools4vb.deSystem:  WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

MP3's sind in aller Munde. Überall im Internet kann man sich diese "saugen". Per Doppelklick im Windows Explorer lassen sich diese dann auch anhören (natürlich auch mit anderen Anwendungen).

Wie aber lassen sich MP3-Dateien in einem Visual Basic .NET Programm abspielen?

Klarer Fall! Man nehme das "Windows-Media-Player Control", setzt ein paar Eigenschaften und schon hört man den Klang des MP3-Files aus den Lautsprecherboxen

Es geht aber auch anders - und zwar ohne zusätzliches Control!

Man nehme eine API-Funktion namens mciSendString und nachfolgenden Code:

' zunächst die benötigte API-Deklaration
Private Declare Function mciSendString Lib "winmm.dll" _
  Alias "mciSendStringA" ( _
  ByVal lpszCommand As String, _
  ByVal lpszReturnString As String, _
  ByVal cchReturnLength As Integer, _
  ByVal hwndCallback As Integer) As Integer

Abspielen einer MP3-Datei

' MCI öffnen
If mciSendString("open " & sFile & " type MPEGVideo alias MyMP3", 0, 0, 0) = 0 Then
  ' MP3 abspielen
  mciSendString "play MyMP3 from 0", 0, 0, 0
End If

Wiedergabe beenden und MCI schließen

mciSendString "stop MyMP3", 0, 0, 0
mciSendString "close MyMP3", 0, 0, 0

Das war's. Mehr braucht man nicht!

Hinweis
Beinhaltet der MP3-Dateiname Sonderzeichen, wie Leerzeichen, so muss dieser in Anführungszeichen gesetzt werden.

Und um das Abspielen von MP3-Songs etwas universeller einsetzbar zu machen, coden wir uns einfach zwei Prozeduren, die Sie dann beliebig einsetzen und aufrufen können - am besten Sie verwenden hierfür ein eigenes Modul.

' Modul MP3-Play and Stop via API
 
' zunächst die benötigte API-Deklaration
Private Declare Function mciSendString Lib "winmm.dll" _
  Alias "mciSendStringA" ( _
  ByVal lpszCommand As String, _
  ByVal lpszReturnString As String, _
  ByVal cchReturnLength As Integer, _
  ByVal hwndCallback As Integer) As Integer
' MP3-Datei abspielen
Public Function MP3_Play(ByVal sFile As String, _
  ByVal sAlias As String) As Boolean
 
  ' MCI öffnen
  If mciSendString("open " & Chr(34) & sFile & Chr(34) & _
      " type MPEGVideo alias " & sAlias, 0, 0, 0) = 0 Then
 
    ' MP3 abspielen
    If mciSendString("play " & sAlias & " from 0", 0, 0, 0) = 0 Then      
      Return (True)
    End If
  End If
End Function
' Wiedergabe stoppen und MCI schließen
Public Sub MP3_Stop(ByVal sAlias As String)
  mciSendString "stop " & sAlias, 0, 0, 0
  mciSendString "close " & sAlias, 0, 0, 0
End Sub

Der Aufruf aus dem Programm heraus sieht dann wie folgt aus:

' MP3 abspielen
MP3_Play "c:\myMP3s\Test.mp3", "MyAlias"
' MP3-Wiedergabe stoppen
MP3_Stop "MyAlias"

Dieser Tipp wurde bereits 28.049 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel