| |

Visual-Basic EinsteigerRe: MP3 Files im Loop abspielen? | |  | Autor: Dieter (Moderator) | Datum: 18.08.02 22:22 |
| Hi Jan,
ich hab mal eben ein kleines Beispiel dazu vorbereitet.
Starte ein neues Projekt und plaziere auf die Form1 zwei CommandButtons mit den Namen cmdPlay und cmdStop. Dann brauchen wir noch ein Timer-Control (Timer1).
Alles andere erledigen wir per Code
<code><font color=#000099>Option</font> <font color=#000099>Explicit</font>
<font color=green>' benötigte API-Deklarationen</font>
<font color=#000099>Private</font> <font color=#000099>Declare</font> <font _
color=#000099>Function</font> mciSendString <font color=#000099>Lib</font> _
"winmm.dll" _
<font color=#000099>Alias</font> "mciSendStringA" ( _
<font color=#000099>ByVal</font> lpstrCommand <font color=#000099>As</font> _
<font color=#000099>String</font>, _
<font color=#000099>ByVal</font> lpstrReturnString <font _
color=#000099>As</font> <font color=#000099>String</font>, _
<font color=#000099>ByVal</font> uReturnLength <font color=#000099>As</font> _
<font color=#000099>Long</font>, _
<font color=#000099>ByVal</font> hwndCallback <font color=#000099>As</font> _
<font color=#000099>Long</font>) <font color=#000099>As</font> <font _
color=#000099>Long</font>
<font color=#000099>Private</font> <font color=#000099>Declare</font> <font _
color=#000099>Function</font> GetShortPathName <font color=#000099>Lib</font> _
"kernel32" _
<font color=#000099>Alias</font> "GetShortPathNameA" ( _
<font color=#000099>ByVal</font> lpszLongPath <font color=#000099>As</font> _
<font color=#000099>String</font>, _
<font color=#000099>ByVal</font> lpszShortPath <font color=#000099>As</font> _
<font color=#000099>String</font>, _
<font color=#000099>ByVal</font> cchBuffer <font color=#000099>As</font> _
<font color=#000099>Long</font>) <font color=#000099>As</font> <font _
color=#000099>Long</font>
<font color=green>' Kommando senden und "Ergebnis" zurückgeben</font>
<font color=#000099>Private</font> <font color=#000099>Function</font> _
SendCommand(<font color=#000099>ByVal</font> sCmd <font _
color=#000099>As</font> <font color=#000099>String</font>) <font _
color=#000099>As</font> <font color=#000099>Long</font>
<font color=#000099>Dim</font> lResult <font color=#000099>As</font> <font _
color=#000099>Long</font>
<font color=#000099>Dim</font> sReturn <font color=#000099>As</font> <font _
color=#000099>String</font>
sReturn = Space$(256)
lResult = mciSendString(sCmd, sReturn, Len(sReturn), 0&)
SendCommand = Val(sReturn)
<font color=#000099>End</font> <font color=#000099>Function</font>
<font color=green>' MP3-Datei öffnen</font>
<font color=#000099>Private</font> <font color=#000099>Sub</font> OpenMP3(<font _
color=#000099>ByVal</font> sFile <font color=#000099>As</font> <font _
color=#000099>String</font>)
<font color=#000099>Dim</font> sBuffer <font color=#000099>As</font> <font _
color=#000099>String</font>
<font color=#000099>Dim</font> lResult <font color=#000099>As</font> <font _
color=#000099>Long</font>
<font color=#000099>Dim</font> sReturn <font color=#000099>As</font> <font _
color=#000099>String</font>
<font color=green>' Da die mciSendString Funktion mit langen Dateinamen</font>
<font color=green>' nicht korrekt arbeitet, muss zuvor der kurze</font>
<font color=green>' 8.3 Dateiname der MP3-Datei ermittelt werden.</font>
sBuffer = Space$(255)
lResult = GetShortPathName(sFile, sBuffer, _
Len(sBuffer))
<font color=#000099>If</font> lResult <> 0 <font color=#000099>Then</font>
sFile = Left$(sBuffer, InStr(sBuffer, vbNullChar) - 1)
<font color=#000099>End</font> <font color=#000099>If</font>
<font color=green>' MP3-Datei öffnen</font>
mciSendString "open " & sFile & _
" type MPEGVideo alias myMP3", 0, 0, 0
<font color=#000099>End</font> <font color=#000099>Sub</font>
<font color=green>' MP3-Datei schließen</font>
<font color=#000099>Private</font> <font color=#000099>Sub</font> CloseMP3()
mciSendString "close myMP3", 0, 0, 0
<font color=#000099>End</font> <font color=#000099>Sub</font>
<font color=#000099>Private</font> <font color=#000099>Sub</font> cmdPlay_Click( _
)
<font color=#000099>Dim</font> sFile <font color=#000099>As</font> <font _
color=#000099>String</font>
<font color=green>' MP3-Datei, die abgespielt werden soll</font>
sFile = "c: empIrgendEine.mp3"
<font color=green>' MP3 öffnen</font>
OpenMP3 sFile
<font color=green>' Abpsielvorgang starten</font>
SendCommand "play myMP3 from 0"
<font color=green>' Timer aktivieren</font>
Timer1.Enabled = <font color=#000099>True</font>
<font color=#000099>End</font> <font color=#000099>Sub</font>
<font color=#000099>Private</font> <font color=#000099>Sub</font> cmdStop_Click( _
)
<font color=green>' Stoppen und schließen</font>
Timer1.Enabled = <font color=#000099>False</font>
CloseMP3
<font color=#000099>End</font> <font color=#000099>Sub</font>
<font color=#000099>Private</font> <font color=#000099>Sub</font> Form_Load()
<font color=green>' Timer initialisieren</font>
Timer1.Enabled = <font color=#000099>False</font>
Timer1.Interval = 100
<font color=#000099>End</font> <font color=#000099>Sub</font>
<font color=#000099>Private</font> <font color=#000099>Sub</font> Form_Unload( _
Cancel <font color=#000099>As</font> <font color=#000099>Integer</font>)
<font color=green>' Abspielvorgang beenden und MP3 schließen</font>
cmdStop.Value = <font color=#000099>True</font>
<font color=#000099>End</font> <font color=#000099>Sub</font>
<font color=#000099>Private</font> <font color=#000099>Sub</font> Timer1_Timer()
<font color=green>' Status abfragen und ggf. Abspielvorgang von</font>
<font color=green>' vorne beginnen</font>
<font color=#000099>Dim</font> lCurPos <font color=#000099>As</font> <font _
color=#000099>Long</font>
<font color=#000099>Dim</font> lLength <font color=#000099>As</font> <font _
color=#000099>Long</font>
<font color=green>' aktuelle Position</font>
lCurPos = SendCommand("status myMP3 position")
<font color=green>' Gesamtspielzeit</font>
lLength = SendCommand("status myMP3 length")
<font color=green>' Prüfen, ob am Ende angelangt und ggf.</font>
<font color=green>' Abspielvorgang von vorne beginnen</font>
<font color=#000099>If</font> lCurPos >= lLength <font _
color=#000099>Then</font>
SendCommand ("play myMP3 from 0")
<font color=#000099>End</font> <font color=#000099>If</font>
<font color=#000099>End</font> <font color=#000099>Sub</font></code> Cu
Dieter |  |
 | 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 |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Neu! sevCommand 4.0 
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere Infos
|
|
|
Copyright ©2000-2025 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
|
|