Foxtable(狐表)用户栏目专家坐堂 → 请教老师这个怎么判断


  共有825人关注过本帖平板打印复制链接

主题:请教老师这个怎么判断

帅哥哟,离线,有人找我吗?
xuzihang
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:297 积分:2279 威望:0 精华:0 注册:2012/6/23 11:15:00
请教老师这个怎么判断  发帖心情 Post By:2023/12/29 18:04:00 [只看该作者]

请教老师   在窗口里有个按钮     怎么判断对方摘机和挂机,我怎么写都不对,

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编辑过]

 回到顶部
总数 18 1 2 下一页