PDA

Ver la Versión Completa : mediaplayer- nueva ventana


Jorghino reyes
29-10-2005, 18:16:01
Hola amigos, un saludo nuevamente !

tengo la siguiente inquietud.

hace poco tienpo y con ayuda de ustedes realize mi reproductor de mp3, muy sencillo la verdad pero para mi esta bien como practica.

Ahora lo que quiero hacer es de un un filelistbox donde muestro los archivos, cuando seleccione un video, que se habra una nueva forma o ventana con la reproduccion del video, una vez que haya acabado se cierre. todo ello con las implicaciones de memoria ( segun he estado leyendo algo sobre liberar la memoria y el puntero y cosas de esas)

Asi basicamente la duda es sobre la creacion de la forma ( y que no se pueda cerrar hasta que termine el video) y si hay alguna implicacion con el componente de mediaplayer en la forma1 para que maneje el video en la forma2.


De anetmano Muchas gracias por sus comentarios.

Jorghino reyes
29-10-2005, 23:46:36
ahora bien hice algo como esto: con 2 botones un play y un stop pero con showmodal no me muestra el video, que puedo hacer para que cuando se empieze a mostrar el video no permita cambiar de ventana hasta que este termine, claro utilizando el notify del mediaplayer , que para el ejemplo no lo puse.

procedure TForm1.SpeedButton3Click(Sender: TObject);
var
forma2: Tform2;
begin
form2:= Tform2.create(application);
form2.caption:= 'reproduccion de video';
form2.showmodal;
mediaplayer1.display:= form2.RichEdit1;
mediaplayer1.play;
end;

procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
mediaplayer1.stop;
form2.Free ;
end;


gracias, ahora esto es correcto?

defcon1_es
31-10-2005, 19:02:35
Hola Jorghino reyes,
El método ShowModal detiene el hilo de ejecución hasta que se cierra la ventana... yo usaría Show.

Al Form2, ponle en la propiedad FormStyle = fsStayOnTop,
y defines una variable pública de tipo Boolean, por ejemplo PuedoCerrar.

En el evento MediaPlayer1Notify puedes poner lo siguiente:

procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
with TMediaPlayer(Sender) do
begin
// Asegurate que Form2 está creada...
Form2.PuedoCerrar := (Mode = mpStopped);
Notify := True;
end;
end;


y en el evento OnCloseQuery del Form2:

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := PuedoCerrar;
end;


Ahora mismo no puedo comprobar el código que he escrito, así que ya nos contarás.

Salu2.

Jorghino reyes
31-10-2005, 19:33:45
Gracias! con algunos ligeros cambios para adaptarlo a mi programa, pero funciona bien.:D

Abusando de tu conocimeinto si esto lo quisiera modificar de forma como lo describo en el hilo que llava por titulo "Ventanas ocultar y mostrar" en esta misma seccion como le podria hacer.



Gracias!