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 11-10-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Mostrando el tiempo de una canción con TMediaPlayer (Ayuda)

Pues eso, tengo el siguiente código:

Código Delphi [-]
procedure TFMain.Timer1Timer(Sender: TObject);
begin
MediaPlayer1.TimeFormat := tfMilliseconds;
  if Progreso.MaxValue <> 0 then
    Progreso.Progress := MediaPlayer1.Position;
    Label2.Caption := FloatToStr(Trunc(MediaPlayer1.Position / 1000) div 60 )+ ' : ' +FloatToStr(Trunc(MediaPlayer1.Length / 1000));
end;

El tiempo me muestra de esta manera:

01 : 197

No logro que la parte de los segundos llegue a los 60 y vuelva a empezar, la de los minutos trabaja correctamente por cada 60 segundos que pasa, ¿alquien me pude ayudar con esto?.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #2  
Antiguo 11-10-2008
Khronos Khronos is offline
Miembro
 
Registrado: abr 2007
Posts: 298
Poder: 18
Khronos Va por buen camino
Hola,

Código Delphi [-]
function FMain.GetCurrentPosition: string;
var
mil, min, sec, hor: integer;
segundos, minutos: string;
begin
MediaPlayer1.TimeFormat:=tfMilliseconds;
mil:= MediaPlayer.Length;
sec:= mil div 1000;
min:= sec div 60;
hor:= min div 60;
sec:= sec mod 60;
segundos:=inttostr(sec);
minutos:=inttostr(min);
if min<10 then begin
minutos:='0' + inttostr(min);
end;
if sec<10 then begin
segundos:='0' + inttostr(sec);
end;
result:= inttostr(hor) +':' +minutos + ':' + segundos;
end;

En el TTimer,

Código Delphi [-]
procedure TFMain.Timer1Timer(Sender: TObject);
begin
MediaPlayer1.TimeFormat := tfMilliseconds;
  if Progreso.MaxValue <> 0 then
    Progreso.Progress := MediaPlayer1.Position;
    Label2.Caption := FMain.GetCurrentPosition;
end;

Salu2
Responder Con Cita
  #3  
Antiguo 11-10-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Hola, Muchas gracias Khronos, pero la función que me envias sólo me muestra el total que dura la canción y se queda fija, yo sólo quiero que los segundos empiecen desde 0 cada 60 segundos

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #4  
Antiguo 11-10-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Gracias a la ayuda de eduarcol, el código quedó funcionando de pelos de esta manera:

Código Delphi [-]
procedure TFMain.Timer1Timer(Sender: TObject);
var min, sec: String;
begin
MediaPlayer1.TimeFormat := tfMilliseconds;
  if Progreso.MaxValue <> 0 then
    Progreso.Progress := MediaPlayer1.Position;
    sec := InttoStr((MediaPlayer1.Position div 1000) - (((MediaPlayer1.Position div 1000) div 60) * 60));
    min := InttoStr((MediaPlayer1.Position div 1000) div 60);
    Label2.Caption := FormatFloat('00', StrtoFloat(min));
    Label4.Caption := FormatFloat('00', StrtoFloat(sec));
end;

Saludos.

PD. Eduarcol eres un duro (Para los mal pensados no es lo que piensan)
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #5  
Antiguo 12-10-2008
Khronos Khronos is offline
Miembro
 
Registrado: abr 2007
Posts: 298
Poder: 18
Khronos Va por buen camino
Si tienes razón enecumene no me di cuenta. Pero si en la función le pones esto:

Código Delphi [-]
mil:= MediaPlayer.Position; //mil:= MediaPlayer.length;

Te funcionaría como buscabas, la primera función era para obtener la duración de una canción y de esta manera consigues la posición actual en el formato x:xx:xx.

Salu2
Responder Con Cita
  #6  
Antiguo 14-10-2008
thebignico thebignico is offline
Registrado
 
Registrado: may 2005
Posts: 6
Poder: 0
thebignico Va por buen camino
Retomo en este post para no abrir uno nuevo ya q es lo q estoy buscando, pero me interesaria saber como hacer para q me muestre tambien las milesimas de segundos porq lo estoy usando para edicion de video Es decir el formato q tendria q verse seria HH:MM:SS:ZZZ. Saludoss.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Tocar la Cancion siguiente con el MediaPlayer pockelsm3 Varios 5 06-12-2007 18:32:19
mostrando numeros decimales ercrizeporta Varios 2 01-07-2007 21:05:24
TMediaPlayer: Tiempo de reproducción de un MP3. Jose_Pérez OOP 14 19-07-2006 19:32:44
Agrupamiento mostrando el menor agonzalez SQL 3 19-02-2004 23:29:19
Mostrando formas MDChild ing_alsaac OOP 3 11-02-2004 01:26:34


La franja horaria es GMT +2. Ahora son las 22:35:15.


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