PDA

Ver la Versión Completa : Trabajar con el Tmedia Player


Yoslier
09-04-2006, 17:23:07
saludos, a todos

tengo un problemita como podré hacer que un trackBar de delphi adelante o atrace un .avi como el media player de windows:)

dec
09-04-2006, 19:23:15
Hola,

Si utilizas el buscador del Foro (http://clubdelphi.com/foros/search.php) encontrarás información sobre el componente a que te refieres, que, junto con la propia ayuda de Delphi, te servirá para manejarte más o menos con el "TMediaPlayer", aunque, como todo, profundizar en un tema no se hace en una hora ni en dos, con información o sin ella.

Respecto de lo que planteas en tu pregunta (escueta, por otro lado, demasiado, seguramente) puedes intentar aprovechar el evento "OnChange" del "TTrackBar". En el mismo puedes hacer uso de la propiedad "Position" del "TTrackBar" para asignarle el valor de esta a la propiedad "Position" del "TMediaPlayer".

En todo caso, ya he dicho que este tema se ha tratado alguna vez en estos Foros. Te remito de nuevo al buscador de los Foros, por tanto, para que puedas informarte mejor.

Sotrono
09-04-2006, 20:31:42
Nose como lo esta implementando Yoslier, pero supongo que va a utilizar un Timer para que, a medida que se vaya reproduciendo el tema, vaya actualizando el TrackBar.
puedes intentar aprovechar el evento "OnChange" del "TTrackBar". En el mismo puedes hacer uso de la propiedad "Position" del "TTrackBar" para asignarle el valor de esta a la propiedad "Position" del "TMediaPlayer".
Para que esto funcione (o por lo menos para que a mi me funcione) hay que agregarle una variable booleana para distinguir cuando se quiere actualizar la posicion del TrackBar (lo hace el Timer) y cuando se quiere modificar la posicion en el MediaPlayer (se hace con el mouse)

1ro Inicializas Actualizacion como false

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
if not Actualizacion then begin
MediaPlayer1.Position := TrackBar1.Position;
MediaPlayer1.Play;
end else
Actualizacion := false;;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Actualizacion := true;
TrackBar1.Position := MediaPlayer1.Position;
end;

Bueno, yo lo probe y funciona. Tal vez, como menciona Dec, haya otra forma de hacerlo, pero no encontre el hilo.

Saludos...