vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Windows API
M3U listen abspielen 
Autor: MrZonk
Datum: 11.12.06 01:10

Grüße ich versuche mit hilfe der API functionen die ich hier gefunden habe einen player aus zu statten der M3U listen abspielt im dauer loop mit einer zusätzlichen Shuffle Function. Ich habe vor einen Player zu bauen der per Tasten druck 3 playlisten abspielt
z.b.
Music.m3u
FX1.m3u
FX2.m3u

Das ist mein bisheriger Code

es währe schön wenn mir jemand damit weiterhelfen könnte.
Option Explicit
 
' 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 Long, _
  ByVal hwndCallback As Long) As Long
 
Private Declare Function GetShortPathName Lib "kernel32" _
  Alias "GetShortPathNameA" (ByVal lpszLongPath As String, _
  ByVal lpszShortPath As String, _
  ByVal cchBuffer As Long) As Long
Public Function StopAll()
    tmMusicF1.Enabled = False
    TmFx1F1.Enabled = False
    TmFx2F1.Enabled = False
    MP3_Stop "MusicF1"
    MP3_Stop "Fx1F1"
    MP3_Stop "Fx2F1"
End Function
 
Public Function fGetM3u(ByVal sM3uFile As String, _
  Optional ByVal bOnlyIfExist As Boolean = False) As Variant
  ....
  ....
  ....
End Function
 
' MP3-Datei abspielen
Public Function MP3_Play(ByVal sFile As String, _
  ByVal sAlias As String) As Boolean
 
  Dim bResult As Boolean
 
  ' Dateinamen in DOS 8.3 Format, da z.B. Sonderzeichen
  ' wie Leerzeichen Probleme machen
  Dim sBuffer As String
  Dim lResult As Long
 
  sBuffer = Space$(255)
  lResult = GetShortPathName(sFile, sBuffer, Len(sBuffer))
 
  If lResult <> 0 Then
    sFile = Left$(sBuffer, InStr(sBuffer, vbNullChar) - 1)
 
    ' MCI öffnen
    lResult = mciSendString("open " & sFile & _
      " type MPEGVideo alias " & sAlias, 0, 0, 0)
 
    If lResult = 0 Then
      ' MP3 abspielen
      If mciSendString("play " & sAlias & _
        " from 0", 0, 0, 0) = 0 Then
        bResult = True
      End If
    End If
  End If
 
  MP3_Play = bResult
End Function
 
' Ermittelt die Länge einer MP3-Datei
' in Millisekunden
Private Function GetMP3Length( _
  ByVal strFileName As String) As Long
 
  Dim strBuffer As String
  Dim lRet As Long
  Dim sReturn As String
 
  ' Da die mciSendString Funktion mit langen Dateinamen
  ' nicht korrekt arbeitet, muss zuvor der kurze
  ' 8.3 Dateiname der MP3-Datei ermittelt werden.
  strBuffer = Space$(255)
  lRet = GetShortPathName(strFileName, strBuffer, Len(strBuffer))
 
  If lRet <> 0 Then
    strFileName = Left$(strBuffer, InStr(strBuffer, vbNullChar) - 1)
  End If
 
  ' MP3-Datei öffnen
  mciSendString "open " & strFileName & _
    " type MPEGVideo alias mp3audio", 0, 0, 0
 
  ' Länge der Datei in Millisekunden auslesen
  sReturn = Space$(256)
  lRet = mciSendString("status mp3audio length", _
    sReturn, Len(sReturn), 0&)
 
  ' MP3-Datei schliessen
  mciSendString "close mp3audio", 0, 0, 0
 
  GetMP3Length = Val(sReturn)
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
 
Private Sub Command1_Click()
' MP3 abspielen
If chkshuffelmusicf1.Value = 1 Then
    lstmusicF1.ListIndex = Rnd * lstmusicF1.ListCount
Else
    lstmusicF1.ListIndex = 0
End If
Dim intervals As Double
intervals = GetMP3Length(lstmusicF1.Text)
' tmMusicF1.interval = intervals
tmMusicF1.Enabled = True
End Sub
 
Private Sub Command2_Click()
' MP3-Wiedergabe stoppen
StopAll
 
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
M3U listen abspielen1.770MrZonk11.12.06 01:10
Re: M3U listen abspielen933vbtricks12.12.06 11:22

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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