FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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... |
#2
|
||||
|
||||
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. |
#3
|
|||
|
|||
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 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. |
#4
|
|||
|
|||
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. |
|
|
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 |
|