Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-07-2008
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 203
Poder: 17
alquimista Va por buen camino
Reproducir sonido sincronizado con un timer

Tengo que emitir un sonido corto en determinados periodos de tiempo que son variables
Como sincronizarlos lo mas exacto posible sin que se produzcan retrasos.

Por ejemplo
5 segundos 32 centésimas-->Sonido
10 segundos 25 centésimas--->Sonido
..
..
20 minutos 20 segundos 34 centesimas->Sonido

El problema radica en que al usar PlaySound de un wav (grabado como un recurso *.res) hay un pequeño desfase con respecto al temporizador que cada vez se va haciendo mas grande. con lo que al final en vez de sonar a 20 minutos 20 sg 34 centésimas lo hace a 20 minutos 22 segundos.

Se emplea un timer para llevar el crono y otro para los tiempos variables y reproducción de sonido.

Alguna sugerencia?
¿Una tarea separada del 2º timer solo para reproducir el sonido ayudaría?
Gracias...
Responder Con Cita
  #2  
Antiguo 02-07-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.310
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Hay algunos componentes de Timer que dicen ser "más exactos" que el original de Windows. No he probado ninguno, pero tal vez alguno de estos solvente tu problema.
Otra opción sería que revisaras GetTickCount, a ver si consigues más exactitud.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 02-07-2008
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 203
Poder: 17
alquimista Va por buen camino
Uso un timer de las JEDI jvThreadTimer1 que dicen que es un poco mas preciso que el ttimer para el crono y jv..2 para los tiempos. Arranco los 2 a la vez y en el 2º cambio el interval en el evento Ontimer. Antes de reproducir el sonido existia un desfase que era despreciable y al cabo de un rato se compensaba un poco.
Es al utilizar playsound cuando desfasa

Código Delphi [-]
{$R sonidos.res} // recurso: es un solo wav de apenas 100k
procedure TForm1.JvThreadTimer2Timer(Sender: TObject)
begin
PlaySound('sonido', hInstance, SND_RESOURCE or SND_ASYNC);
//cambiar interval del timer
end;
he leido que si se carga en memoria (¿como se haria?) es más rápido ¿un recurso no se carga en memoria o lo carga del exe perdiendo mas tiempo?

Gracias por la respuesta

Última edición por alquimista fecha: 02-07-2008 a las 10:06:44.
Responder Con Cita
  #4  
Antiguo 02-07-2008
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 203
Poder: 17
alquimista Va por buen camino
voy a cambiar a un solo timer ya que en unos 20 minutos se desfasa mas de 2 segundos el sonido del tiempo en que debiera contar.

¿Alguien sabe como puedo comparar el TDateTime con una stringlist con formato "mm:ss:zz", siendo mm=minutos con 2 caracteres, ss=segundos, zz=centesimas, que contiene todos los tiempos a los que tiene que tocar el sonido.
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
Reproducir archivos mpg zugazua2001 Varios 4 30-09-2008 19:43:54
Reproducir sonido lfb C++ Builder 5 13-02-2008 04:20:06
transformar datos en sonido con delphi y sacarlos por la tarjeta de sonido Johnnywin Internet 3 21-09-2006 20:49:11
Reproducir Sonido!!please ajrudilla Varios 11 29-05-2006 21:34:23
Progresbar Sincronizado con un proceso Coco_jac Varios 1 02-12-2005 03:26:10


La franja horaria es GMT +2. Ahora son las 16:21:23.


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