lineMonitorTones 函数 (tapi.h)
lineMonitorTones 函数启用和禁用在调用时检测带内音。 每次检测到指定的音调时,都会向应用程序发送一条消息。
语法
LONG lineMonitorTones(
HCALL hCall,
LPLINEMONITORTONE const lpToneList,
DWORD dwNumEntries
);
参数
hCall
要监视其语音通道音调的呼叫的句柄。 hCall 的调用状态可以是空闲状态以外的任何状态。
lpToneList
要监视的音调列表。 此参数的类型为 LINEMONITORTONE。 此列表中的每个音调都有一个应用程序定义的标记字段,用于标识列表中的单个音调,以报告音调检测。 通过使用 lpToneList 的 NULL 或另一个音调列表调用此操作,取消或更改正在进行的音调监视。
dwNumEntries
lpToneList 中的条目数。 如果 lpToneList 为 NULL,则忽略此参数。
返回值
如果请求成功,则返回零;如果发生错误,则返回负错误号。 可能的返回值为:
LINEERR_INVALCALLHANDLE、LINEERR_INVALCALLSTATE、LINEERR_INVALPOINTER、LINEERR_INVALTONE、LINEERR_NOMEM、LINEERR_OPERATIONFAILED、LINEERR_OPERATIONUNAVAIL、LINEERR_RESOURCEUNAVAIL、LINEERR_UNINITIALIZED。
注解
如果已正确启动音调监视,则此函数成功,而不是在音调监视已终止时成功。 音调监视一直有效,直到使用另一个音调列表 (或 NULL) 调用 lineMonitorTones 显式禁用,直到调用转换为空闲状态,或者应用程序解除分配呼叫的调用句柄。
尽管可以在任何调用状态下调用此函数,但通常只能在调用处于 连接 状态时检测到音调。 音调检测通常需要计算资源。 根据服务提供商和争夺此类资源的其他活动,可以检测到的音调数可能会随时间而变化。 此外,可以消耗同等数量的资源来监视单个三重频率音和三个单频率音。 如果资源过度提交,则返回LINEERR_RESOURCEUNAVAIL错误。
lineMonitorTones 函数也用于检测静音。 静音指定为频率为零的音调。
监视电话会议中的音调仅适用于 hConfCall,不适用于单个参与呼叫
如果返回LINEERR_INVALPOINTER错误值,则指定的 lpToneList 参数无效或 dwNumEntries 参数指定的值太大。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | tapi.h |
Library | Tapi32.lib |
DLL | Tapi32.dll |