Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi shellexecute öffnet mp3-Datei mit dem VLC-Player Fehlerhaft (https://www.delphipraxis.net/142831-shellexecute-oeffnet-mp3-datei-mit-dem-vlc-player-fehlerhaft.html)

Kapitan Bomba 4. Nov 2009 15:11


shellexecute öffnet mp3-Datei mit dem VLC-Player Fehlerhaft
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich möchte ein Programm machen, welches mp3-Dateien im VLC-Mediaplayer öffnet.
Ich habe diesen Code benutzt :

Delphi-Quellcode:
procedure TForm1.Image26Click(Sender: TObject);
var i: string;
begin
  opendialog1.Execute;
  i := opendialog1.Filename;
  if ShellExecute(application.handle,
    Pchar('open'),
    ('C:\Programme\VLC\vlc.exe'),
    PChar(i),
    Pchar(''),
    sw_ShowNormal) >= 32
  then showmessage('Datei ist geöffnet')
  else showmessage('Datei konnte nicht geöffnet werden.');
end;
Der VLC Media Player öffnet sich , gibt danach aber nur Fehlermeldungenm (Screenshot beigefügt) aus und spielt die Datei nicht ab.
Dasselbe hab ich schon mit Winamp versucht (Kommt das gleiche dabei raus).
Eine Musikdatei , bei der es nicht funktioniert hat , von der ich aber weiß , dass sie funktioniert , hat diesen Pfad : 'C:\Criss Angel Mindfreak OST - 03 - Mindfreak(Celldweller remix).mp3' .
Wenn ich die mp3-Datei im Explorer auswähle spielt der VLC sie ohne Probleme ab.
Kann mir jemand helfen :( ?
Ich benutze Delphi 7.

Danke im voraus.

Gausi 4. Nov 2009 15:20

Re: shellexecute öffnet mp3-Datei mit dem VLC-Player Fehlerh
 
Hallo,

Probier mal
Delphi-Quellcode:
PChar('"' + i + '"'),
Also den Dateinamen in Gänsefüßchen zu setzen. Sieht so aus, als würde der VLC deinen Dateinamen bei den Leerzeichen aufsplitten und das als Dateiliste interpretieren.

Kapitan Bomba 4. Nov 2009 15:35

Re: shellexecute öffnet mp3-Datei mit dem VLC-Player Fehlerh
 
Vielen Dank !!!
Hat wunderbar geklappt.
:-D

DeddyH 4. Nov 2009 16:04

Re: shellexecute öffnet mp3-Datei mit dem VLC-Player Fehlerh
 
Und prüfe lieber den Rückgabewert von TOpenDialog.Execute ab, man kann den ja auch abbrechen.
Delphi-Quellcode:
if opendialog1.Execute then
  begin
    //Code
  end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz