Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Reproducir videos desde delphi (https://www.clubdelphi.com/foros/showthread.php?t=70826)

vgomez 12-11-2010 18:17:17

Reproducir videos desde delphi
 
hola, gracias por este tipo de foros que prestan una ayuda muy valiosa.

mi caso es el siguiente, necesito hacer una aplicacion en la cual pueda ejecutar una lista de videos mediante una aplicación externa, lo que no puedo hacer es que sea continua, es decir, en cuanto termine un video, se cierre la aplilcación y ejecute el siguiente video.
He intentado con RunAndWaitShell y ShellExecute pero no puedo cerrar la aplicación al terminar el video.
ojala puedan ayudarme, gracias por adelantado.

adeszeus 13-11-2010 03:53:08

No entiendo por completo
 
Haber no entiendo bien tu problema,.... esto es lo que capto:

- Deseas desde Delphi Abrir una lista de videos.
- Despues de cargar la lista.... desde delphi abrir una aplicacion para reproducirlos.
- Al Terminar el Video Cierre de manera automatica Delphi la Aplicacion y volver a abrirla con otro video diferente?:confused:

santus 13-11-2010 05:31:02

no se que programa quieres controlar, pero yo hice algo así con el VLC Media Player.
Tienes varios comandos que puedes manejar que son muy utiles.
Arma una lista de reprodución con un TStringList. Agregas todos los archivos que quieras reproducir, y luego lo guardas con el método SaveToFile como "ListaRep.m3u".

Luego llamas a la aplicación con los siguientes parámetros:

Código Delphi [-]

ShellExecute(0,nil,
        pchar('C:\Archivos de programa\VideoLAN\VLC\vlc.exe'),
        pchar('ListaRep.m3u  --one-instance --loop -f  --no-video-title-show'),
        'C:\directorio_donde_esten_los_archivos',SW_NORMAL);
--one-instance: Solo abre una instancia del VLC. Útil para no abrir mas de un reproductor a la vez.
--loop: Ejecuta la lista una y otra vez.
-f: Pantalla completa.
--no-video-title-show: no muestra el nombre del archivo que se esta reproduciendo.

Para matar la aplicación VLC yo utilizo la siguiente funcion:

Código Delphi [-]

function MatarProceso(ExeFileName: string): integer;
const
  PROCESS_TERMINATE=$0001;
var
  ContinueLoop: BOOL;
  FSnapshotHandle: THandle;
  FProcessEntry32: TProcessEntry32;
begin
  result := 0;

  FSnapshotHandle := CreateToolhelp32Snapshot
                     (TH32CS_SNAPPROCESS, 0);
  FProcessEntry32.dwSize := Sizeof(FProcessEntry32);
  ContinueLoop := Process32First(FSnapshotHandle,
                                 FProcessEntry32);

  while integer(ContinueLoop) <> 0 do
  begin
    if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
         UpperCase(ExeFileName))
     or (UpperCase(FProcessEntry32.szExeFile) =
         UpperCase(ExeFileName))) then
      Result := Integer(TerminateProcess(OpenProcess(
                        PROCESS_TERMINATE, BOOL(0),
                        FProcessEntry32.th32ProcessID), 0));
    ContinueLoop := Process32Next(FSnapshotHandle,
                                  FProcessEntry32);
  end;

  CloseHandle(FSnapshotHandle);
end;

Espero haberte sido de ayuda. Saludos.

vgomez 16-11-2010 16:30:24

gracias de antemano por contestar.

Lo que me dice santaus esta muy bien y me saca parcialmente del apuro, tratare de explicarme un poco mas, tengo una lista de videos que quiero mandar a unas pantallas de televisión, para ello ocupo utilizar un programa para reproducir karaoke, pero necesito mandar el video a la extensión de escritorio de windows, cosa que no se si se pueda hacer desde el media player, es por eso que ocupaba correr la apllicación externa.
gracias.

gonza_619 08-03-2011 00:00:55

terminar diapositiva automaticamente
 
bueno lo mio es similar nada mas que yo utilizo shellexecute con un archivo pps y al finalizar no se finaliza automaticamente sino que hai que hace click y lo que quiero es que finalize al termianr la presentacion, alguna idea de como hacerlo o terminar el shell execute?


La franja horaria es GMT +2. Ahora son las 01:45:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi