Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Un Video en 2 forms distintos (https://www.clubdelphi.com/foros/showthread.php?t=88555)

sac 22-06-2015 20:18:56

Un Video en 2 forms distintos
 
Estoy usando Delphi7 y el componente Tmediaplayer para reproducir videos en un form.

El problema que tengo es que para ver el mismo video en otro form es tener cada video que pienso reproducir duplicado en dos carpetas distintas para que la ruta donde se encuentran sea distinta de lo contrario aparece un mensaje de error diciendo que ese video no se puede reproducir porque ya se está ejecutando.

Cómo puedo hacer para ver el mismo video en los dos forms en simultáneo?

ecfisa 22-06-2015 20:33:36

Hola sac.

Saludos :)

sac 30-06-2015 16:15:52

Usando el codigo
 
Ecfisa estoy trabajando con el código de la página que me pasaste.

Perdón la ignorancia pero necesito ayuda para saber como cambiar los valores del tamaño del display (por ejemplo yo usaba)
VideodeFondo.DisplayRect:=Rect(0,0,Fondo.P_Video.Width,Fondo.P_Video.Height); donde P_Video era el panel que usaba como display donde corría el video.

Además necesito modificar los valores porque los videos se ven en distintos tamaños.

y otra cosa que no entiendo es como indicarles hacer un loop al video para que no se corte.
Mucho no entiendo el código.

ecfisa 30-06-2015 19:57:23

Hola sac.

Yo tampoco entiendo tu situación con claridad, pero fijate si te sirve de este modo:
Código Delphi [-]
uses MMSystem;

procedure PlayVideo(WinControl: TWinControl; const FileName: string;
  const Loop: Boolean = False);
const
  PLAYCMD: array[Boolean] of string = ('play VIDEO1', 'play VIDEO1 repeat');
var
  R: TRect;
begin
  R:= WinControl.ClientRect;
  mciSendString('close VIDEO1', nil, 0, 0);
  mciSendString(PChar('open "' + FileName + '" alias VIDEO1'), nil, 0, 0);
  mciSendString(PChar('window VIDEO1 handle ' + IntToStr(WinControl.Handle)), nil, 0, 0);
  mciSendString(PChar('put VIDEO1' + Format('%d %d %d %d',
    [R.Left,R.Top,R.Right,R.Bottom])), nil, 0, 0);
  mciSendString(PChar(PLAYCMD[Loop]), nil, 0, 0);
end;

Ejemplo de uso:
Código Delphi [-]
...
  // sin repetición
  PlayVideo(Panel1, 'wildlife.wmv');

  // con repetición
  PlayVideo(Panel1, 'wildlife.wmv', True);

Saludos :)


La franja horaria es GMT +2. Ahora son las 18:27:09.

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