Das Windows MCI Control, spielt es mp3 ?

Hallo
Ich habe mich in der letzten Zeit mit dem Windows MCI-Control beschäftigt.
Getestet habe ich cd’s, wav’s, avi’s, mid’s.
Video DVD’s gehen anscheinend nicht.
Es stellt sich mittels Dateiendung auf die Wiedergabe ein.
Kann es auch mp3 Dateien und andere abspielen? Ich habe gerade leider keine mp3 Datei. Weiß es jemand so?
MfG
Matthias

Ich habe mich in der letzten Zeit mit dem Windows MCI-Control
beschäftigt.
Getestet habe ich cd’s, wav’s, avi’s, mid’s.
Video DVD’s gehen anscheinend nicht.
Es stellt sich mittels Dateiendung auf die Wiedergabe ein.
Kann es auch mp3 Dateien und andere abspielen? Ich habe gerade
leider keine mp3 Datei. Weiß es jemand so?

Hi Matthias,
ich bin nicht so hard Core, aber es gibt reichlich viele, grad die, die oft in Foren antworten, die sagen, investiere nie mehr Zeit in eine Antwort als sich der Fragesteller Zeit für die Fragestellung gegeben hat.
Du hast da ein Windows MCi Problem, keine Ahnung was das ist, aber daß du es nicht schaffst irgendwelche mp3-Dateinen auf deinen Rechner zu laden und das Ding damit zu testen, naja, was soll ich dazu sagen?
Soll ich mir dieses Windowsteil installieren, einige mp3s aus dem Inet runterladen und dann testen???
Lade dir einige mp3 dateien aus dem Internet, teste es mit dem Windowskram, dann frage gezielt nach wenn was nicht klappt.
Dann können dir auch Leute weiterhelfen die sich mit Windows MCI-Control auskennen.
Gruß
Reinhard

Hat sich erledigt
Hallo
Mein Problem hat sich erledigt. Einen Download einer mp3 Datei konnte ich aber nicht so schnell machen, habe unter anderem kein schnelles Modem.
Das MCI spielt auch mp3 ab, falls es irgendwann jemand wissen möchte.
MfG
Matthias

Hallo Matthias,

warum nicht einfach die API MCISendString verwenden?
Sie spielt auch alle gaengigen Formate ab :smile:

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

MfG Alex

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Matthias,

warum nicht einfach die API MCISendString verwenden?
Sie spielt auch alle gaengigen Formate ab :smile:

Hallo Alex
Du beziehst Dich beim Wort „Formate Abspielen“ wohl auf Computerabstürze und Fehlermeldungen.
Das Windows MCI hat mir bislang erheblichen Widerstand geleistet.
Was bei mir eindeutig nicht funktioniert hat, war unter anderem die von Dir oben genannte Funktion und alle Callbacks.
Ich fand viele Infos im MSDN welche aus irgendwelchen unbekannten Gründen bei mir nicht funktionierten.
Das MCI Control ließ sich aber z.B. „Subclassen“ so das ich zum Beispiel das wichtige „WM_Destroy“ auffangen konnte.
Das meiste habe ich übrigens mit SendMessage realisiert.
Jetzt kann ich zum Beispiel die Länge eines CD-Tracks usw. ermitteln.
Insgesamt ist das MCI bei mir jetzt aber besser per Api als mit dem VB-Control. Unter anderem auch, weil man ein stretchbares Fenster für AVI-Wiedergabe erhält.

MfG
Matthias

Hallo Alex

Hallo Matthias,

Du beziehst Dich beim Wort „Formate Abspielen“ wohl auf
Computerabstürze und Fehlermeldungen.

Nein, das ganz sicherlich nicht :smile:

Das Windows MCI hat mir bislang erheblichen Widerstand
geleistet.

Hmm, ich habe eigentlich noch nie Probleme damit gehabt!

Was bei mir eindeutig nicht funktioniert hat, war unter
anderem die von Dir oben genannte Funktion und alle Callbacks.

Du kannst die Fehler abfangen und dann entsprechende Functionen aufrufen, die es korrigieren. Nur musst du dazu wissen, welche Fehler es sind und die bekommst du mit der API mciGetErrorString heraus.
Auch solltest du beachten das du bei der API MciSendString keine Leerzeichen im Filenamen uebergeben darfst. Aber dazu mache dich einfach der API GetShortPathNameA zu nutze.
Auch solltest du vorher prüfen welche Geraetetreiber installiert sind. Die bekommst du wiederrum mit der API GetProfileString heraus.
Es mag sich viel anhören, ist es aber eigentlich nicht und rel. trival. Wenn du das alles beachtest, solltest du mit MciSendString keinerlei Probleme haben :smile:

Ich fand viele Infos im MSDN welche aus irgendwelchen
unbekannten Gründen bei mir nicht funktionierten.
Das MCI Control ließ sich aber z.B. „Subclassen“ so das ich
zum Beispiel das wichtige „WM_Destroy“ auffangen konnte.

Das geht bei der McISendString auch!
Wenn du die API MciSendString aufrufst, übergibst du ihr als letzten Parameter (hwndCallback) einfach das Handle des Fenster das die Ereignisse erhalten soll. Dazu muss du aber im Komando String Notify eingeschalten sein :wink:

Das meiste habe ich übrigens mit SendMessage realisiert.
Jetzt kann ich zum Beispiel die Länge eines CD-Tracks usw.
ermitteln.

Ich weiss jetzt nicht alle Parameter von der API auswendig, aber ich denke mal das man auch da die Länge rel. schnell ermitteln kann!

Insgesamt ist das MCI bei mir jetzt aber besser per Api als
mit dem VB-Control. Unter anderem auch, weil man ein
stretchbares Fenster für AVI-Wiedergabe erhält.

Mit ein wenig tricksen, kannst du auch mit der API MciSendString
Video in eine Tmp Picturebox laden und von dortaus ins Image kopieren.
Ds kannst du zum. Bsp. ueber ein sep. Thread machen, so gewaehrst du das es ruckelfrei abläuft :wink:

MfG
Matthias

MfG