请教老师 在窗口里有个按钮 怎么判断对方摘机和挂机,我怎么写都不对,
If BriSDKLib.QNV_CTRL_POLARITY Then '检测反级
msgbox("检测反级!", 64, "提示")
If BRI_EVENT.lResult > 0 Then ,这里写的不对,
msgbox("对方摘机!", 64, "提示")
' Else BriSDKLib.QNV_GetDevCtrl(Vars("intChannelID"), BriSDKLib.QNV_CTRL_POLARITY, True) Then
' msgbox("对方未摘机或无反级功能!", 64, "提示")
End If
End If
------------------------------------------------
以下是参考全局里的代码
' 拨号后,被叫方摘机事件(该事件仅做参考,原因如下:)
' 原因:
' 该事件只适用于拨打是标准信号音的号码时,也就是拨号后带有标准回铃音的号码.
' 如:当拨打的对方号码是彩铃(彩铃手机号)或系统提示音(179xx)都不是标准回铃音时该事件无效.
'
' 反极信号是模拟线路中唯一可靠的判断对方摘机的方法,只是一方面需要开通才有该功能,另一方面在有些地方,即使申请也未必受理,因为该功能原本是针对公用电话计费的.
' 没有该功能,利用信号音做判断依据,但可靠性不能做到100%,尤其是在被叫方为彩铃时,检测率很低
' 拥有反级服务方式一:向电信的PSTN线路申请开通,该方式操作性不强,原因如上所述
' 拥有反级服务方式二:购买一个手机sim/3g卡,再购买一个带反级服务的sim/3g平台设备(200人民币左右),该设备会引出一个电话线接入到USB设备
'
BRI_EVENT.lResult : 0 为语音信号分析的结果
'
BRI_EVENT.lResult : 1 为反级检测的结果
Public Const
BriEvent_RemoteHook As Integer = 16
' 挂机事件
' 如果线路检测到被叫方摘机后,被叫方挂机时会触发该事件,不然被叫方挂机后就触发BriEvent_Busy事件
' 该事件或者BriEvent_Busy的触发都表示PSTN线路已经被断开
' 备注:该事件是根据线路的忙音信号检测,如果没有忙音就不会触发该事件
' 如果有反级服务就为可靠提示
'
BRI_EVENT.lResult : 0 为语音信号分析的结果
'
BRI_EVENT.lResult : 1 为反级检测的结果
Public Const
BriEvent_RemoteHang As Integer = 17
-----------------
'取得设备的可用模块
Public Function
GetModule(ByVal chID As Int16) As String
Dim strModule As String = ""
Dim lModule As Long
=BriSDKLib.QNV_DevInfo(chID,BriSDKLib.QNV_DEVINFO_GETMODULE)
If(lModule And BriSDKLib.DEVMODULE_DOPLAY)
Then strModule &= "有喇叭/"
If(lModule And BriSDKLib.DEVMODULE_CALLID)
Then strModule &= "有来电显示/"
If(lModule And BriSDKLib.DEVMODULE_PHONE)
Then strModule &= "话机拨号/"
If(lModule And BriSDKLib.DEVMODULE_SWITCH)
Then strModule &= "断开电话机,接收话机按键/"
If(lModule And
BriSDKLib.DEVMODULE_PLAY2TEL) Then strModule &= "播放语音到电话机/"
If(lModule And BriSDKLib.DEVMODULE_HOOK)
Then strModule &= "软摘机/"
If(lModule And BriSDKLib.DEVMODULE_MICSPK)
Then strModule &= "有耳机/MIC/"
If(lModule And BriSDKLib.DEVMODULE_RING)
Then strModule &= "模拟话机震铃/"
If(lModule And BriSDKLib.DEVMODULE_STORAGE)
Then strModule &= "FLASH数据存储/"
If(lModule And BriSDKLib.DEVMODULE_FAX)
Then strModule &= "收发传真/"
If(lModule And
BriSDKLib.DEVMODULE_POLARITY) Then strModule &= "反级检测/"
Return strModule
End Function
------------------------------------------------------------------------------------------------
以下是二次开的说明
<!--[if !supportLists]-->1.1.1.1 <!--[endif]-->打开/关闭级性反转检测呼叫后对方摘挂机
QNV_CTRL_POLARITY
功能描述 (
Description )
打开/关闭级性反转检测呼叫后对方摘挂机
参数介绍 ( Parameters )
[in] nChannelID
控制的通道
[in] nValue
0 — 关闭级性反转摘挂机检测
1 —
打开级性反转摘挂机检测
返回值 (
Return Values )
大于0表示成功,其它表示失败
备注
(Remarks)
- 对支持该功能的设备才有效
- 反极信号是模拟线路中唯一可靠的判断对方摘机的方法,只是一方面需要开通才有该功能,另一方面在有些地方,即使申请也未必受理,因为该功能原本是针对公用电话计费的。
- 没有该功能,利用信号音做判断依据,但可靠性不能做到100%,尤其是在被叫方为彩铃时,检测率很低
例如
(Example)
QNV_SetDevCtrl(0, QNV_CTRL_POLARITY ,1);
[此贴子已经被作者于2023/12/29 21:15:54编辑过]