el codigo usa el ejecutable de esta pagina
[Enlace externo eliminado para invitados]
guardenlo en una subcarpeta 'binarios' dentro del proyecto
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,shellapi,FileCtrl;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Button1: TButton;
    ComboBox1: TComboBox;
    Label2: TLabel;
    Label3: TLabel;
    Edit2: TEdit;
    Label4: TLabel;
    Button2: TButton;
    SaveDialog1: TSaveDialog;
    Button3: TButton;
    Label5: TLabel;
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
var
s:string;
begin

SelectDirectory('Seleccionar directorio','',s);
edit2.text:=s;

end;

procedure TForm1.FormCreate(Sender: TObject);
var
str,file1,file2:string;
begin
str:=ExtractFilePath(Application.ExeName);
     file1:=(str+'binarios\ffmpeg.exe');
      file2:=(str+'binarios\youtube-dl.exe');

if  fileexists(file1) and fileexists(file2)then begin

end
else
begin
showmessage ('alguno de los  2 archivos no se encuentran'+#13#10+
'en el directorio binarios'#13#10+
'cerrando aplicacion');
Application.Terminate;

end;
  end;
procedure TForm1.Button1Click(Sender: TObject);
var
str, calidad,parametros, file1:string;
begin

  str:=ExtractFilePath(Application.ExeName);
     file1:=(str+'binarios\youtube-dl.exe');
   if combobox1.ItemIndex=0 then
   calidad:='136';
   if combobox1.ItemIndex=1 then
   calidad:='137';
   //el audio seria predefinido por el momento
    parametros:=' -f '+calidad+'+140 '+edit1.text +' -o '+ edit2.text+'%(title)s.%(ext)s' ;
   
ShellExecute(handle, 'open', pchar(file1), pchar(parametros), nil, SW_SHOWNORMAL) ;
end;

procedure TForm1.Button3Click(Sender: TObject);

begin


end;

end.
ffmpeg lo voy a usar en otro proyecto no es necesario en este .
calidad es:
136 es 720hd
137 es 1080hd
paresco malo ,pero soy bueno
correcciones
eliminar o agregar barra invertida en seleccion de directorios segun el caso
SelectDirectory('Seleccionar directorio','',s);

if s ='C:\'then  begin
edit2.text:=s;

end
else  begin
edit2.text:=s+'\';
 end;
end;
agregar comillas a la ruta de parametos en output file(- o),
parametros:=' -f '+calidad+'+140 '+edit1.text +' -o "'+ edit2.text+'%(title)s.%(ext)s "' ;
saludos y exitos.
paresco malo ,pero soy bueno
Responder

Volver a “Fuentes”