Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-09-2004
Jose_Pérez Jose_Pérez is offline
Miembro
 
Registrado: may 2003
Posts: 156
Poder: 21
Jose_Pérez Va por buen camino
TMediaPlayer: Tiempo de reproducción de un MP3.

Hola:

¿Cómo puedo saber el tiempo de reproducción de un MP3 (mm:ss) con un TMEdiaPlayer?.

Saludos y gracias.
Responder Con Cita
  #2  
Antiguo 07-09-2004
Descendents Descendents is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona
Posts: 396
Poder: 21
Descendents Va por buen camino
creo recordar que hay una propiedad que te da los segundos
i luego haces este procedimiento i ya.

var t,h,m,s :integer;
begin
t := 3671;
m := t div 60;
h := m div 60;
m := m mod 60;
s := t mod 60;
showmessage(inttostr(t)+' segundos se transforman en '+inttostr(h)+' horas y +inttostr(m)+' minutos y '+inttostr(s)+' segundos');


Saludos
__________________
La victoria tiene cien padres. La derrota es huérfana (Napoleón).
Responder Con Cita
  #3  
Antiguo 07-09-2004
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Thumbs up Facil... de esta manera:

Esto se puede hacer de esta manera:

Código Delphi [-]
procedure TFPral.Establecer_Tiempos;
var Hs, Min, Seg: integer;
    LHs, LMin, LSeg: string;
begin
// la barra de proceso trabaja en segundos
Proceso.Min := 0;
Proceso.Max := Reproductor.Length Div 1000;
Proceso.Position := 0;
// calcular tiempo
Seg := Reproductor.Length Div 1000;
Hs := Seg Div 3600;
Seg := Seg - (Hs * 3600);
Min := Seg Div 60;
Seg := Seg - (Min * 60);
if Hs >= 10
   then begin
        LHs := IntToStr(Hs);
        end
   else begin
        LHs := '0'+IntToStr(Hs);
        end;
if Min >= 10
   then begin
        LMin := IntToStr(Min);
        end
   else begin
        LMin := '0'+IntToStr(Min);
        end;
if Seg >= 10
   then begin
        LSeg := IntToStr(Seg);
        end
   else begin
        LSeg := '0'+IntToStr(Seg);
        end;
LTiempo.Caption := Lhs +':'+ LMin +':'+ LSeg;
Ltema.Caption := ExtractFileName(Reproductor.FileName);
Proceso.Enabled := True;
Play.Enabled := True;
end; { Fin Establecer_Tiempos }

Para que funcione correctamente asegúrate antes de hacer dichos cálculos que la proopiedad TimeFormat tenga el valor tfMilliseconds.
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #4  
Antiguo 09-09-2004
Jose_Pérez Jose_Pérez is offline
Miembro
 
Registrado: may 2003
Posts: 156
Poder: 21
Jose_Pérez Va por buen camino
Gracias por vuestras respuestas. Me han servido para resolver el problema.

Saludos.
Responder Con Cita
  #5  
Antiguo 10-09-2004
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cool Cuidado con el TMediaPlayer

Ha.. se me olvido decirte Jose_Pérez que si estas usando Delphi 5 o inferior, el componente TMediaPlayer tiene unos "pequeños" fallos. Para ello debes buscar una versión nueva.. Pero si tienes Delphi 6 o superior no te hagas drama...
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 15-09-2004
Jose_Pérez Jose_Pérez is offline
Miembro
 
Registrado: may 2003
Posts: 156
Poder: 21
Jose_Pérez Va por buen camino
Hasta ahora no he tenido problemas. ¿Cuales son esos fallos?.

Saludos.
Responder Con Cita
  #7  
Antiguo 18-09-2004
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Error en el TMediaPlayer

No me acuerdo muy bien, la verdad es que lo leí en un libro para principiantes en Delphi... pero creo que el error se producía cuando se le pasaba un nuevo archivo a reproducir. Lo que sucedía es que el TMediaPlayer en vez de "actualizar" el valor de ciertas propiedades, las "sumaba". Otro error que me acuerdo se encontraba en el evento Stop().
Pero como te dije, si estas usando Delphi 6 o superior no tendrás problemas. En caso contrario si.
La verdad es que yo use el TMediaPlayer en Delphi 6 y por eso nunca tuve problemas... sino no estaría escuchando música con el reproductor que me hice!
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #8  
Antiguo 09-11-2004
Jose_Pérez Jose_Pérez is offline
Miembro
 
Registrado: may 2003
Posts: 156
Poder: 21
Jose_Pérez Va por buen camino
Mira por donde yo acabo de detectar un error. Cuando el path+nombre_de_archivo es muy largo, da problemas.

Saludos.
Responder Con Cita
  #9  
Antiguo 10-11-2004
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Question

Disculpa, que versión de Delphi usas?... que tan largo tiene que ser para que se produzca el error?
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #10  
Antiguo 10-11-2004
Jose_Pérez Jose_Pérez is offline
Miembro
 
Registrado: may 2003
Posts: 156
Poder: 21
Jose_Pérez Va por buen camino
Estoy utilizando Delphi 5.

Saludos.

Última edición por Jose_Pérez fecha: 10-11-2004 a las 11:32:47.
Responder Con Cita
  #11  
Antiguo 21-11-2004
mauriciofox mauriciofox is offline
Miembro
 
Registrado: nov 2004
Posts: 30
Poder: 0
mauriciofox Va por buen camino
creo k pudes usar extract

usas extract ,o mejor buscalo bien en la ayuda que te explica mejor el commando es que hace muscho no trabajo con el.
Responder Con Cita
  #12  
Antiguo 20-06-2006
Avatar de CID
CID CID is offline
Registrado
 
Registrado: abr 2006
Posts: 7
Poder: 0
CID Va por buen camino
Una simplificación de tu código:

Código Delphi [-]
procedure TFPral.Establecer_Tiempos;
var Hs, Min, Seg: integer;
begin
// la barra de proceso trabaja en segundos
Proceso.Min := 0;
Proceso.Max := Reproductor.Length Div 1000;
Proceso.Position := 0;
// calcular tiempo
Seg := Reproductor.Length Div 1000;
Hs := Seg Div 3600;
Seg := Seg - (Hs * 3600);
Min := Seg Div 60;
Seg := Seg - (Min * 60);
LTiempo.Caption := Format('%.2d:%.2d:%.2d',[hs,Min,Seg]);
Ltema.Caption := ExtractFileName(Reproductor.FileName);
Proceso.Enabled := True;
Play.Enabled := True;
end; { Fin Establecer_Tiempos }
Responder Con Cita
  #13  
Antiguo 17-07-2006
Diegolito Diegolito is offline
Registrado
 
Registrado: jul 2006
Posts: 2
Poder: 0
Diegolito Va por buen camino
No me entero

Hola no me entero del codigo, lo pongo y no funciona, si alguien me lo puede explicar se lo agradezco.
Responder Con Cita
  #14  
Antiguo 18-07-2006
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
¿Que error te produce?

Cita:
Empezado por Diegolito
Hola no me entero del codigo, lo pongo y no funciona, si alguien me lo puede explicar se lo agradezco.
Disculpa pero, ¿te arroja algún error? Se mas específico. Al decir no funciona no podríamos decir a ciencia cierta que es lo que te está fallando. Podría explicarte el código pero para ello dinos cual copiaste: el primero o el segundo (aunque esto sería irrelevante... son prácticamente iguales).

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #15  
Antiguo 19-07-2006
Diegolito Diegolito is offline
Registrado
 
Registrado: jul 2006
Posts: 2
Poder: 0
Diegolito Va por buen camino
a funciona

Ya no hace falta. Esque soy nuevo en esto de la programacin en Pascal, y me faltaban poner algunas cosas, pero ya consigo que funcione.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 22:55:53.


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
Copyright 1996-2007 Club Delphi