硬件接口开发之USB电话录音盒来电显示
2009-09-08 22:04
603 查看
除了上篇《硬件接口开发之Modem来电显》介绍的Modem来电显示,还可以采用USB电话录音盒来进行来电显示和电话录音功能,本文介绍如何在C#中实现该功能。首先我们看看我是如何在我的软件中集成USB电话录音盒的功能,先对USB电话录音盒的功能和应用场景有一个总体的认识先。
我的送水软件可以支持两路及以上多路的来电显示和电话录音功能,当用户有新的来电,系统会检测数据库是否存在该电话的用户,如果有那么调出该用户的资料(包括上次订购产品信息),否则提示操作员建立新客户的资料,并记录该次的电话号码。这些来电显示功能非常方便操作人员进行业务操作,点击下鼠标就可以完成客户的订单。
private void InitCallControl()
private void MainToolWindow_Load(object sender, EventArgs e)
{
{
{
{
{
{
{
LogHelper.Error(ex);
string content = "设备未链接(错误)";
Portal.gc.MainDialog.RefreshComingCallStatus(content);
}
#endregion
}
2)然后就是实现上面的几个委托事件了,代码如下所示。
private void axTMNC_OCXX1_OnNoAnswer(object sender, AxTMNC_OCX.ITMNC_OCXXEvents_OnNoAnswerEvent e)
{
/**//*
说明:当有电话打入,且无人接听的情况,即未接来电信息。
LocalNum:本地号码。CallID:未接来电号码。
注:此来电号码在OnCallIn事件中也会发送过来,但是不同的是,只有当来电无人接听时
才会产生OnNoAnswer事件。
*/
string content = string.Format("未接来电:{0} 本地号码:{1}", e.callID, e.localNum);
Portal.gc.MainDialog.RefreshComingCallStatus(content);
}
private void axTMNC_OCXX1_OnCallOut(object sender, AxTMNC_OCX.ITMNC_OCXXEvents_OnCallOutEvent e)
{
string content = string.Format("拨出号码:{0} 本地号码:{1}", e.callOutNum, e.localNum);
Portal.gc.MainDialog.RefreshComingCallStatus(content);
}
private void axTMNC_OCXX1_OnCallIn(object sender, AxTMNC_OCX.ITMNC_OCXXEvents_OnCallInEvent e)
{
string content = string.Format("来电号码:{0} 本地号码:{1}", e.callInNum, e.localNum);
Portal.gc.MainDialog.RefreshComingCallStatus(content);
Portal.gc.DealWithComingCall(e.callInNum);
}
private void axTMNC_OCXX1_OnDisConnect(object sender, AxTMNC_OCX.ITMNC_OCXXEvents_OnDisConnectEvent e)
{
string content = "设备未连接";
Portal.gc.MainDialog.RefreshComingCallStatus(content);
}
private void axTMNC_OCXX1_OnConnect(object sender, AxTMNC_OCX.ITMNC_OCXXEvents_OnConnectEvent e)
{
string content = "设备已就绪";
Portal.gc.MainDialog.RefreshComingCallStatus(content);
}
我的送水软件可以支持两路及以上多路的来电显示和电话录音功能,当用户有新的来电,系统会检测数据库是否存在该电话的用户,如果有那么调出该用户的资料(包括上次订购产品信息),否则提示操作员建立新客户的资料,并记录该次的电话号码。这些来电显示功能非常方便操作人员进行业务操作,点击下鼠标就可以完成客户的订单。
private void InitCallControl()
private void MainToolWindow_Load(object sender, EventArgs e)
{
{
{
{
{
{
{
LogHelper.Error(ex);
string content = "设备未链接(错误)";
Portal.gc.MainDialog.RefreshComingCallStatus(content);
}
#endregion
}
2)然后就是实现上面的几个委托事件了,代码如下所示。
private void axTMNC_OCXX1_OnNoAnswer(object sender, AxTMNC_OCX.ITMNC_OCXXEvents_OnNoAnswerEvent e)
{
/**//*
说明:当有电话打入,且无人接听的情况,即未接来电信息。
LocalNum:本地号码。CallID:未接来电号码。
注:此来电号码在OnCallIn事件中也会发送过来,但是不同的是,只有当来电无人接听时
才会产生OnNoAnswer事件。
*/
string content = string.Format("未接来电:{0} 本地号码:{1}", e.callID, e.localNum);
Portal.gc.MainDialog.RefreshComingCallStatus(content);
}
private void axTMNC_OCXX1_OnCallOut(object sender, AxTMNC_OCX.ITMNC_OCXXEvents_OnCallOutEvent e)
{
string content = string.Format("拨出号码:{0} 本地号码:{1}", e.callOutNum, e.localNum);
Portal.gc.MainDialog.RefreshComingCallStatus(content);
}
private void axTMNC_OCXX1_OnCallIn(object sender, AxTMNC_OCX.ITMNC_OCXXEvents_OnCallInEvent e)
{
string content = string.Format("来电号码:{0} 本地号码:{1}", e.callInNum, e.localNum);
Portal.gc.MainDialog.RefreshComingCallStatus(content);
Portal.gc.DealWithComingCall(e.callInNum);
}
private void axTMNC_OCXX1_OnDisConnect(object sender, AxTMNC_OCX.ITMNC_OCXXEvents_OnDisConnectEvent e)
{
string content = "设备未连接";
Portal.gc.MainDialog.RefreshComingCallStatus(content);
}
private void axTMNC_OCXX1_OnConnect(object sender, AxTMNC_OCX.ITMNC_OCXXEvents_OnConnectEvent e)
{
string content = "设备已就绪";
Portal.gc.MainDialog.RefreshComingCallStatus(content);
}
相关文章推荐
- 硬件接口开发之Modem来电显示
- 硬件接口开发之Modem来电显示
- Linux下的硬件驱动——USB设备(下)(驱动开发部分)
- Linux下的硬件驱动——USB设备(下)(驱动开发部分)
- 开发底层硬件应该怎么编写接口文档
- 嵌入式硬件及接口开发实践
- Linux(Android)驱动开发——常用硬件通信接口及协议
- usb多重接口设备开发——1 单接口配置
- 转 Linux下的硬件驱动——USB设备(下)(驱动开发部分)
- USB驱动开发之端点,管道和接口,信息流动
- Linux下的硬件驱动——USB设备(下)(驱动开发部分)
- 组态王7.5 开发+运行 无限点 免狗 硬件狗 USB锁 共享 学习 下载
- Linux下的硬件驱动——USB设备(下)(驱动开发部分)
- 安卓电话和网络开发全解:电话硬件检测、电话服务信息、sim信息、网络服务信息、数据连接和数据传输信息、电话状态监听
- Linux下的硬件驱动——USB设备(下)(驱动开发部分)
- Linux硬件驱动:USB设备驱动开发篇
- 嵌入式硬件平台接口开发
- Linux下的硬件驱动——USB设备(驱动开发部分)
- Linux下的硬件驱动——USB设备(下)(驱动开发部分)
- USB硬件接口相关问题