共用方式為


媒體事件計時器

許多應用程式相依于媒體事件之間的計時關聯性 (例如,) 收到的 DTMF 數位,以判斷所要求作業的本質。 例如,在語音信箱應用程式中,兩個連續 DTMF 「1」 位數可能表示「備份兩個區段」或「從訊息開頭重新執行」,視兩位數之間經過的時間而定。 在用戶端/伺服器環境中,如果 DTMF 偵測是在應用程式執行所在的處理器上執行,區域網路中的延遲可能會扭曲媒體事件之間的計時關聯性,因此這些以計時為基礎的差異可能會遺失或變得不可靠。

若要解決此問題,可以時間戳記傳送數個 TAPI 訊息。 由於這些事件之間的相對時間很重要,因此事件的「時鐘時間」並不重要,且涉及次秒計時,因此這些時間戳記會使用 GetTickCount 函式所傳回的毫秒解析「自 Windows 啟動以來的時間」。 應用程式必須注意,這是伺服器 (或服務提供者直接管理硬體執行) 的機器上的刻度計數,而且不一定是應用程式執行所在的相同電腦;因此,這些 TAPI 訊息中的時間戳記只能彼此比較,而不是應用程式執行所在處理器上的 GetTickCount 所傳回的值。

可時間戳記的 TAPI 訊息包括: LINE_GATHERDIGITSLINE_GENERATELINE_MONITORDIGITSLINE_MONITORMEDIALINE_MONITORTONE。 刻度計數會插入這些訊息的 dwParam3 中。 如果服務提供者 (不支援時間戳記,而服務提供者將這些訊息中的 dwParam3 設定為 0) ,則 TAPI 本身會將刻度計數插入所有這些訊息的 dwParam3 中, (可能會稍微扭曲,但比在訊息周遊處理序間通訊配置之後的應用程式執行相同,則小於) 。