Das nachfolgende Beispiel zeigt, wie Sie eine MIDI-Datei mit Hilfe der API-Funktion mciSendString abspielen können. Hinweiss: Zunächst die 2 API-Funktionen, die Sie bitte in den Allgemeinen Teil des Form-Moduls einfügen: Option Explicit ' Benötigte API-Deklarationen ' kurzer Pfad(8.3) ermitteln Private Declare Function GetShortPathName Lib "kernel32" _ Alias "GetShortPathNameA" ( _ ByVal lpszLongPath As String, _ ByVal lpszShortPath As String, _ ByVal cchBuffer As Long) As Long ' Sound, Video, infos, spielen u.s.w. Private Declare Function mciSendString Lib "winmm.dll" _ Alias "mciSendStringA" ( _ ByVal lpstrCommand As String, _ ByVal lpstrReturnString As String, _ ByVal uReturnLength As Long, _ ByVal hwndCallback As Long) As Long Die folgende Funktion ermittelt den kurzen Pfad-/Dateinamen einer Datei: ' kurzer Pfad ermitteln (8.3) Private Function Get_ShortFullPath( _ ByVal FullPath As String) As String Dim Buffer As String Buffer = Space$(256) If GetShortPathName(FullPath, Buffer, Len(Buffer)) <> 0 Then Get_ShortFullPath = Left$(Buffer, _ InStr(Buffer, vbNullChar) - 1) End If End Function Zum Abspielen einer MIDI-Datei rufen Sie die MidiPlay-Funktion auf: ' MIDI-Datei abspielen Private Function MidiPlay(ByVal FullPath As String) As Boolean Dim Buffer As String Dim ErrHandler As Long Dim ShortFullPath As String ' Prüfen ob eine MIDI-Datei übergeben wurde If UCase$(Mid$(FullPath, Len(FullPath) - 2)) <> "MID" Then MidiPlay = False: Exit Function End If ' Prüfen ob der kurze pfad übergeben wurde ShortFullPath = Get_ShortFullPath(FullPath) If Len(ShortFullPath) = 0 Then MidiPlay = False: Exit Function End If Buffer = Space$(256) ErrHandler = mciSendString("open sequencer!" & _ ShortFullPath & " alias MIDI", Buffer, Len(Buffer), 0) ErrHandler = mciSendString("play MIDI", Buffer, _ Len(Buffer), 0) MidiPlay = (ErrHandler = 0) End Function Das Stoppen des Abspielvorgangs erfolgt über die MidiStop-Prozedur: ' Abspielvorgang stoppen Private Sub MidiStop() mciSendString "stop MIDI", 0, 0, 0 mciSendString "close MIDI", 0, 0, 0 End Sub So, wenn Sie den Code soweit eingefügt haben, bitte auf der Form noch zwei Buttons einfügen (cmdPlay und cmdStop). Private Sub cmdPlay_Click() ' hier ggf. den Pfad anpassen If Not MidiPlay("C:\WINDOWS\MEDIA\onestop.mid") Then MsgBox "Midi datei kann nicht abgespielt werden!" End If End Sub Private Sub cmdStop_Click() MidiStop End Sub Hinweis: Private Sub Form_Unload(Cancel As Integer) MidiStop End Sub Dieser Tipp wurde bereits 22.242 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
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. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats Januar 2025 Dieter Otter Zeilen einer MultiLine-TextBox ermitteln (VB.NET) Dieser Zipp zeigt, wie man die Zeilen einer MultiLine-TextBox exakt so ermitteln kann, wie diese auch in der TextBox dargestellt werden. Neu! sevDTA 3.0 Pro SEPA mit Kontonummernprüfung Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. |
||||||||||||||||
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. |