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
  #7  
Antiguo 14-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
Cita:
Empezado por thebignico Ver Mensaje
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.
Deberías al menos aportar algo de código y qué componentes usas.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #8  
Antiguo 14-10-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
los milisegundos salen de la diferencia entre la position y los segundos mostrados, asi de sencillo
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #9  
Antiguo 14-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
Cita:
Empezado por eduarcol Ver Mensaje
los milisegundos salen de la diferencia entre la position y los segundos mostrados, asi de sencillo
Es que el no ha dicho qué componentes usa ya que habla de "edición de videos" y es muy probable que no use el MediaPlayer.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #10  
Antiguo 27-10-2008
sultan sultan is offline
Miembro
 
Registrado: oct 2008
Posts: 10
Poder: 0
sultan Va por buen camino
Smile

buenas señores.

os queria preguntar a cerca de este post sobre el tmediaplayer, ya que yo tengo que hacer uno, en un programa, como ampliacion, pero aun no nos han explicado como va.

tengo varios botones del tmediaplayer habilitados( play, pause, avanzar, retroceder)pero no me sale el de expulsar ni el de grabar. como los habilito para que me funcionen??

tambien queria, si se puede, hacerte una pregunta enecumene: ese "progreso.progress", de donde lo sacas?? es una variable tuya o es algun objeto que pones del tool palete?

os agradezco la ayuda de antemano

gracias
Responder Con Cita
  #11  
Antiguo 27-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 Sultan, Progreso.Progress es un componente TGauge, lo puedes encontrar en la paleta Samples de Delphi, también lo puedes cambiar por un progressBar, para habilitar los botones faltantes date un miradita a la propiedad EnabledButtons del TMediaPlayer, ahí encontrarás lo que buscas.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #12  
Antiguo 27-10-2008
sultan sultan is offline
Miembro
 
Registrado: oct 2008
Posts: 10
Poder: 0
sultan Va por buen camino
Smile

muchas gracias enecumene.el problema es que no tengo, o no encuentro la paleta samples del delphi, pero lo cambio por un progresbar i listo.

referente a los botones del media player, en el enabled buttons tengo todos los buttons habilitados, pero me sigue mostrando solo los play pause etc...

probare lo del progres bar para ver si lo puedo hacer bien, y si sigo teniendo problemas con los buttons ya te contare mas detalladamente el problema, haber si hay solucion.

muchas gracias.
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 10:27:54.


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