Compartir a través de


Temporizadores de eventos multimedia

Muchas aplicaciones dependen de la relación de tiempo entre eventos multimedia (por ejemplo, dígitos DTMF recibidos) para determinar la naturaleza de una operación solicitada. Por ejemplo, en una aplicación de correo de voz, dos dígitos DTMF consecutivos "1" pueden significar "hacer una copia de seguridad de dos segmentos" o "reproducir desde el principio del mensaje", dependiendo del tiempo transcurrido entre los dos dígitos. En un entorno de cliente o servidor, si la detección de DTMF se realiza en un procesador independiente del en el que se ejecuta la aplicación, la latencia en la red de área local hace que sea muy probable que la relación de tiempo entre los eventos multimedia se desfase, con el resultado de que estas diferencias basadas en intervalos se puedan perder o convertirse en poco confiables.

Para resolver este problema, se pueden marca de tiempo varios mensajes TAPI. Dado que es el tiempo relativo entre estos eventos que es importante, la "hora del reloj" del evento no es importante y el tiempo de sub-segundo está implicado, estas marcas de tiempo usan la "hora de resolución de milisegundos desde que Se inició Windows" devuelta por la función de GetTickCount. Las aplicaciones deben tener en cuenta que este es el recuento de tics en el servidor (o la máquina en la que el proveedor de servicios administra directamente el hardware) y no es necesariamente la misma máquina en la que se ejecuta la aplicación; por lo tanto, las marcas de tiempo de estos mensajes TAPI solo se pueden comparar entre sí y no con el valor devuelto por GetTickCount en el procesador en el que se ejecuta la aplicación.

Los mensajes TAPI que se pueden marca de tiempo son: LINE_GATHERDIGITS, LINE_GENERATE, LINE_MONITORDIGITS, LINE_MONITORMEDIAy LINE_MONITORTONE. El recuento de tics se inserta en dwParam3 de estos mensajes. Si el proveedor de servicios no admite la marca de tiempo (que indica la configuración del proveedor de servicios dwParam3 en estos mensajes en 0), TAPI insertará el recuento de tics en dwParam3 de todos estos mensajes (se puede sesgar un poco, pero menos que si la aplicación hizo lo mismo después de que los mensajes hubieran recorrido un esquema de comunicación entre procesos).