Bonsoir,
Je suis entrain de voir pour créer une petite interface pour l'interprêteur ffmpeg qui est en ligne de commande. Il en existe pas mal, mais moi j'aimerai faire ma propre interface, histoire d'approfondir ...
Alors voilà, mon problème. J'essaie tant bien que mal à lancer la commande cmd.exe via un ShellExecute, celui devant s'ouvrir de façon à ce que je vois apparaître ceci :
Puis, lancer une commande propre à ffmpeg, donc faire par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part c:\RepertoireDeMonApplication>
Le soucis, c'est que je ne sais vraiment pas comment faire en sorte de me positionner sur le répertoire de l'application et lancer la commande.
Code : Sélectionner tout - Visualiser dans une fenêtre à part c:\RepertoireDeMonApplication>ffmpeg -i fichiervideo.flv -f avi fichiervideo.avi
Au passage, j'ai regardé l'aide de cmd.exe et il faudrait utiliser l'option /k pour
lancer une commande ...
Aussi, je vous montre mon code :
Le truc bizarre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 procedure TForm1.Button1Click(Sender: TObject); begin if OpenDialog1.Execute then begin Edit1.Text:=OpenDialog1.FileName; end; end; procedure TForm1.Button2Click(Sender: TObject); var traitement : string; begin traitement := 'ffmpeg -i '+Edit1.Text+' -f avi '+ExtractFilePath(Application.ExeName)+'fichiervideo.avi'; ShellExecute(0, 'open', 'cmd', PChar('/k cd '+ExtractFilePath(Application.ExeName)), nil, SW_SHOWNORMAL ); end;
Le clic sur Button2 directement, j'arrive bien à ouvrir le dossier là où est mon application mais lorsque je fais le button1 puis le 2, ça m'ouvre sur le répertoire FileName du OpenDialogue...
Merci d'avoir pris la peine de lire tout ce post!
J'espère avoir été clair et que vous pourrez m'éclaircir.
Merci
Partager