Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   TMediaplayer fullscreen (https://www.clubdelphi.com/foros/showthread.php?t=51124)

pockelsm3 06-12-2007 02:34:35

TMediaplayer fullscreen
 
Buenas y saludos a los colegas

necesito un poco de su orientacion, con respecto al componente TMediaplayer de delphi.

en el momento que estoy ejecutando un video para mostrarlo utilizo el componente Anime que se encuentra en la paleta de Win32

el problema es el siguiente:

Cuando mando a ejecutar el video al formulario lo mando a maximizar y tengo el componente alClient que debe tomar el tamaño del form, pero cuando se esta tocando el video este se muestra en un tamaño estandar y no varia su tamaño.

y lo que quisiera hacer es que se vea en el formulario completo o una manera de decirle que se ponga fullscreen.

agradeceria toda su ayuda, Gracias:confused::confused::confused::confused:

enecumene 06-12-2007 18:55:54

Hola puedes hacer esto:

Código Delphi [-]
MediaPlayer1.DisplayRect := Rect(0, 0, Animate1.Width, Animate1.Height);

Saludos.

jhonny 06-12-2007 19:55:31

Bueno, lo que comenta enecumene esta bien cuando queremos que el tamaño del video quede ajustado en el control que lo "muestra".

Pero si queremos un FullScreen como cuando hacemos Alt+<Enter> en el reproductor del WindowsMediaPlayer, podriamos hacerlo asi:

Código Delphi [-]
MediaPlayer1.DisplayRect := Rect(0, 0, Screen.Width, Screen.Height);

Pero sin asignarle la propiedad Display al MediaPlayer ;).

enecumene 06-12-2007 20:31:11

Otra Cosa mas que me aprendo amigo jhonny.:D, es verdad lo que dijo una vez nuestro amigo Caral, que cada dia se aprende algo nuevo.

Saludos.

Hola_mundo 06-12-2007 20:31:15

Hola dos cosas para recomndar:
1°_ A la hora de elegir el componenete en donde se vizualizara el video es conveniente usar un Tpanel en ves de un TAnimate, ya que con el animate cada ves que quieras redimensinar el formulario notaras que en el video aprarecen como lines cortadas y quedan muy mal. Nose porqeu es el efecto, supongo que por la propiedad canvas del componente, o porque el TAnimate no es capas de reproducir videos de tamaños considerables, ya que esta preparado para reproducir las animaciones simples de windows.

2°_ La line de codigo que escribio enecumene es correcta, solo faltaria agregar esa misma linea en el evento On rezise del formulario....asi cada ves que se redimensione el Form tambien se redimensione la Propiedad Displayrect para el Tpanel o TAnimate. (Sugiero TPanel)

Pequeño ejemplo con un TButoon, TOpendialog, TMediaPlayer y un TPanel:


Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin  
IF Opendialog1.execute then begin   
 Mediaplayer1.filename:= opendialog1.filename;   
 Mediaplayer1.Open;   
 Mediaplayer1.Display:= panel1;   
 MediaPlayer1.DisplayRect := Rect(0, 0, panel1.Width, panel1.Height);   
Mediaplayer1.Play 
end;
end;

procedure TForm1.FormResize(Sender: TObject);
begin   
 MediaPlayer1.DisplayRect := Rect(0, 0, panel1.Width, panel1.Height)
end;

Espero que te sirva....

jhonny 06-12-2007 20:36:17

Cita:

Empezado por enecumene (Mensaje 251017)
Otra Cosa mas que me aprendo amigo jhonny.:D, es verdad lo que dijo una vez nuestro amigo Caral, que cada dia se aprende algo nuevo.

Saludos.

O como dijo egostar o Cicerón, mejor dicho... lo que dice aqui:

http://www.clubdelphi.com/foros/blog.php?b=18 :D.

Hola_mundo 06-12-2007 20:50:51

Hola de vuelta....una pregunta jhonny?....como hago para que se vea en pantalla completa?.....te comento lo que me pasa: Cuando pongo play con el boton....lo que me sucede es que al no asignarle ningun dysplay al TmediaPlayer, se me abre una venatana aperte (Como una venta de sistema) en donde se reproduce el video. Esta venatana la puedo redimensionar....pero no logro ponerla en pantalla completa.
Si me podrias sacar esa dudda...seria genial..

jhonny 06-12-2007 21:26:20

Cita:

Empezado por Hola_mundo (Mensaje 251029)
Hola de vuelta....una pregunta jhonny?....como hago para que se vea en pantalla completa?.....te comento lo que me pasa: Cuando pongo play con el boton....lo que me sucede es que al no asignarle ningun dysplay al TmediaPlayer, se me abre una venatana aperte (Como una venta de sistema) en donde se reproduce el video. Esta venatana la puedo redimensionar....pero no logro ponerla en pantalla completa.
Si me podrias sacar esa dudda...seria genial..

Bueno, pues precisamente con el codigo que puse mas arriba y sin el valor en Display puedes lograrlo:

Código Delphi [-]
MediaPlayer1.DisplayRect := Rect(0, 0, Screen.Width, Screen.Height);

La ventanita que mencionas no se vera por ninguna parte ya que el video estara redimensionado en toda la pantalla ;).

Hola_mundo 06-12-2007 21:45:27

Perdon por no explicarme bien.....colocando el codigo que tu pusiste previamente y volviste a poner recien....me sucede eso....me salta un ventana aperte de temaño "pequeño" con el icono de sistema... en donde se me reproduce el video....
Aqui el peqeuño codigo que implemente:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin  
 IF Opendialog1.execute then begin   
  Mediaplayer1.filename:= opendialog1.filename;   
  Mediaplayer1.Open;   
  // A la propiedad dysplay no le asigno nada, la dejo "vacia"
  MediaPlayer1.DisplayRect := Rect(0, 0, screen.Width, screen.Height);
  Mediaplayer1.Play;
 end;
end;


Perdon por ser tan pesado.....pero no me gusta quedarme con dudas...jajaj...creo que a nadie.

Por otro lado....logree el efecto de reproducir en pantalla completa de la siguietne forma....pero que no es la correcta:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin  
 IF Opendialog1.execute then begin   
  Mediaplayer1.filename:= opendialog1.filename;   
  Mediaplayer1.Open;   
  Width:= Screen.Width;   
  Height:= Screen.Height;   
  Position:= poScreenCenter;   
  Mediaplayer1.Display:= Panel1;   
  MediaPlayer1.DisplayRect := Rect(0, 0, panel1.Width, panel1.Height);       
  Mediaplayer1.Play; 
 end;
end;

Pero cuando quiero seleccionar otro video con el TOpendialog solo escucho el audio....pero no logro ver el video....solo veo el panel.
Gracias por tu tiempo.

jhonny 06-12-2007 21:52:13

Pues la verdad no entiendo como es que te funciona al contrario, sería interesante resolver el asunto :(...

Lo del video que solo se escucha, puede ser porque hay algunos videos que tienen un Codec (Se supone que con eso protegen los derechos del autor), con ese tipo de videos muchas veces solo se escucha pero no se ve. Seguramente si tratas de abrir ese video con el Windows Media Player te pedira un Codec y en algunos casos hasta te ayudara a buscarlo.


La franja horaria es GMT +2. Ahora son las 16:41:25.

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