Public Function FromASCIIByteArray(ByVal characters As Byte()) As String
Dim encoding As New ASCIIEncoding()
Dim constructedString As String = encoding.GetString(characters)
Return (constructedString)
End Function
Public Sub DefWndProc(ByRef m As System.Windows.Forms.Message)
Select Case m.Msg
Case BriSDKLib.BRI_EVENT_MESSAGE
If True Then
Dim EventData As BriSDKLib.TBriEvent_Data = DirectCast(Marshal.PtrToStructure(m.LParam, GetType(BriSDKLib.TBriEvent_Data)), BriSDKLib.TBriEvent_Data)
Dim strValue As String = ""
Select Case EventData.lEventType
Case BriSDKLib.BriEvent_PhoneHook
If True Then
strValue = "通道" & (EventData.uChannelID + 1).ToString() & ":电话机摘机"
End If
Exit Select
Case BriSDKLib.BriEvent_PhoneHang
If True Then
strValue = "通道" & (EventData.uChannelID + 1).ToString() & ":电话机挂机"
End If
Exit Select
Case BriSDKLib.BriEvent_CallIn
If True Then
'两声响铃结束后开始呼叫转移到CC
strValue = "通道" & (EventData.uChannelID + 1).ToString() & ":来电响铃"
End If
Exit Select
Case BriSDKLib.BriEvent_GetCallID
If True Then
strValue = "通道" & (EventData.uChannelID + 1).ToString() & ":接收到来电号码 " & FromASCIIByteArray(EventData.szData)
End If
Exit Select
Case BriSDKLib.BriEvent_StopCallIn
If True Then
strValue = "通道" & (EventData.uChannelID + 1).ToString() & ":停止呼入,产生一个未接电话 "
End If
Exit Select
Case BriSDKLib.BriEvent_GetDTMFChar
strValue = "通道" & (EventData.uChannelID + 1).ToString() & ":接收到按键 " & FromASCIIByteArray(EventData.szData)
Exit Select
Case BriSDKLib.BriEvent_RemoteHang
If True Then
strValue = "通道" & (EventData.uChannelID + 1).ToString() & ":远程挂机 "
End If
Exit Select
Case BriSDKLib.BriEvent_Busy
If True Then
strValue = "通道" & (EventData.uChannelID + 1).ToString() & ":接收到忙音,线路已经断开 "
End If
Exit Select
Case BriSDKLib.BriEvent_DialTone
strValue = "通道" & (EventData.uChannelID + 1).ToString() & ":检测到拨号音 "
Exit Select
Case BriSDKLib.BriEvent_PhoneDial
strValue = "通道" & (EventData.uChannelID + 1).ToString() & ":电话机拨号 " & FromASCIIByteArray(EventData.szData)
Exit Select
Case BriSDKLib.BriEvent_RingBack
strValue = "通道" & (EventData.uChannelID + 1).ToString() & ":拨号后接收到回铃音 "
Exit Select
Case BriSDKLib.BriEvent_DevErr
If True Then
If EventData.lResult = 3 Then
strValue = "通道" & (EventData.uChannelID + 1).ToString() & ":设备可能被移除 "
End If
End If
Exit Select
Case Else
Exit Select
End Select
If strValue.Length > 0 Then
MessageBox.Show(strValue)
End If
End If
Exit Select
Case Else
MyBase.DefWndProc(m) ‘这句报错,注释后项目可正常重启打开
Exit Select
End Select
End Sub