lineMonitorTones 函数 (tapi.h)

lineMonitorTones 函数启用和禁用在调用时检测带内音。 每次检测到指定的音调时,都会向应用程序发送一条消息。

语法

LONG lineMonitorTones(
  HCALL                   hCall,
  LPLINEMONITORTONE const lpToneList,
  DWORD                   dwNumEntries
);

参数

hCall

要监视其语音通道音调的呼叫的句柄。 hCall 的调用状态可以是空闲状态以外的任何状态。

lpToneList

要监视的音调列表。 此参数的类型为 LINEMONITORTONE。 此列表中的每个音调都有一个应用程序定义的标记字段,用于标识列表中的单个音调,以报告音调检测。 通过使用 lpToneListNULL 或另一个音调列表调用此操作,取消或更改正在进行的音调监视。

dwNumEntries

lpToneList 中的条目数。 如果 lpToneListNULL,则忽略此参数。

返回值

如果请求成功,则返回零;如果发生错误,则返回负错误号。 可能的返回值为:

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

另请参阅

LINEMONITORTONE

补充行服务函数

TAPI 2.2 参考概述