USB盒动态库开发文档Word格式文档下载.docx
- 文档编号:13248434
- 上传时间:2022-10-08
- 格式:DOCX
- 页数:22
- 大小:28.46KB
USB盒动态库开发文档Word格式文档下载.docx
《USB盒动态库开发文档Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《USB盒动态库开发文档Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
编程时第一个要调用的函数是ubox_open(UBoxEventNotifyProcproc,UBOX_WORK_MODEmode),用于设置事件回调函数,并启动USB盒。
事件回调函数原形如下:
typedefvoid(CALLBACK*UBoxEventNotifyProc)(
UBOX_HANDLEuboxHnd设备句柄,一个合法的设备句柄是不等于-1的整数,这个值对于不同的PC
机的USB端口的值是不同的,多个USB设备通过它来区别
inteventID事件,参考UBOX_EVENT的定义
unsignedlongparam1下面几个参数不同的事件,其含义不同
unsignedlongparam2事件参数2
unsignedlongparam3事件参数3
unsignedlongparam4事件参数4
);
其简单开发流程:
1.先调用ubox_open函数;
2.如果USB录音盒设备已插入,会有设备插入事件UBOX_EVENT_DEVICE_PLUG_IN通知上层程序;
3.电话振铃,主叫号码,摘机,挂机、按键和都会用事件通知上层程序;
4.一般在摘机事件触发时调用ubox_record_file开始录音,在挂机事件触发时调用ubox_stop_record停止录音;
5.拨号调用ubox_send_dtmf,号码发送完毕,应用程序会收到UBOX_EVENT_CALLOUTFINISH事件。
由于有彩铃,无法正确判断对方是否摘机,所以底层没有做检测对方摘机功能。
但是具有检测对方挂机忙音功能,当底层检测到挂机忙音,会送UBOX_EVENT_DEVICE_BUSY_TONE事件给应用程序。
6.程序退出时要调用用ubox_close()关闭设备。
请看“usb盒常见开发问题.doc”文档
(二)UBOX_EVENT事件
UBOX_EVENT_DEVICE_PLUG_IN设备插入
功能:
通知应用程序检测到USB设备插入
参数:
UBOX_HANDLEuboxHnd是USB设备句柄
eventID:
UBOX_EVENT_DEVICE_PLUG_IN
说明:
USB设备句柄用于标识USB线路。
不同USB盒的句柄并不是连续的,但对于同一个
2路的USB盒,其线路1和线路2的句柄值是相邻的。
有设备句柄参数的函数必
须要在通道收到UBOX_EVENT_DEVICE_PLUG_IN事件后才能调用。
UBOX_EVENT_DEVICE_PLUG_OUT设备拨出
通知应用程序设备拨出。
uboxHnd是设备句柄
eventID:
UBOX_EVENT_DEVICE_PLUG_OUT
UBOX_EVENT_ALARM报警
设备报警,软件要重新启动,否则不能录音和放音。
Param为7,不要做任何特殊处理。
uboxHnd:
设备句柄
eventID:
UBOX_EVENT_ALARM
param1:
工作异常的原因,有四种情况:
1-----未能找到ubox的MIC设备
2-----未能打开ubox的MIC设备
3-----未能打开ubox的放音设备
4-----设备故障,设备工作不正常,软件退出,检查设备驱动程序是否安装好。
UBOX_WIN7_AUDIO_EXCEPTION=5,//Vista和win7audio设备故障,需要重新调用ubox_close,然后调用ubox_open
UBOX_ALARM_RESET_AUDIO_FAILD=6,//复位audiodevice失败,不能录音,也收不到来电号码和按键的。
UBOX_ALARM_RESET_AUDIO_SUCCESS=7,//复位audiodevice成功,只是提示,不要做任何特殊处理
出现的原因可能如下:
1.和电脑的USB接触有问题。
2.USBaudiodevice驱动程序没有安装好(操作系统自动安装),正在安装的过程中,运行了软件。
3.操作系统不是完整版本,缺少USBaudiodevcie驱动,安装驱动精灵试一下,看是否能修复驱动程序,如果修复不了,只能安装完整版本操作系统。
4.供电和信号差,一般要求USB线插到电脑后端。
5.windowsaudio服务被禁用了,将该服务设置为自动和启动,重启电脑。
6.USBaudiodevice在声卡属性中被禁用,将禁用取消。
7.运行了多个USB程序打开USB设备,也会导致这种情况。
8.操作系统出现问题,需要操作系统重启。
UBOX_EVENT_DEVICE_ERROR设备错误
通知应用程序设备错误。
UBOX_EVENT_DEVICE_ERROR
设备错误,会导致接收不到主叫号码。
处理方法:
退出软件,硬件重新插拔一下,重新运行软件,看是否正常。
出现的原因:
Windows应用程序和设备通信出现异常。
1.和电脑的USB接触有问题。
2.供电和信号差,一般要求USB线插到电脑后端。
3.如果换了多个USB口或者换了一台电脑,退出软件,硬件重新插拔一下,重新运行软件,还是出现这个设备错误事件,那USB设备有问题了。
UBOX_EVENT_LINE_RINGING振铃
通知应用程序线路振铃
eventID:
UBOX_EVENT_LINE_RINGING
param1、param2、param3、param4未使用
UBOX_EVENT_LINE_RING_STOP停振
通知应用程序线路停振。
uboxHnd:
eventID:
UBOX_EVENT_LINE_RING_STOP
说了明:
电话机振铃一般是振1秒,停振4秒的一个周期。
UBOX_EVENT_LINE_HOOK_UP事件挂机
通知应用程序线路挂机。
是设备句柄
UBOX_EVENT_LINE_HOOK_UP
UBOX_EVENT_LINE_HOOK_OFF事件摘机
通知应用程序线路摘机。
UBOX_EVENT_LINE_HOOK_OFF
param1=0,表示电话机摘机
Param1=6,表示反向摘机,指软件摘机
Param1=7,表示正向摘机,指软件摘机
软摘机总会是后面两者之一。
UBOX_EVENT_LINE_HANG悬空
通知应用程序线路悬空。
是设备句柄
UBOX_EVENT_LINE_HANG
说明:
只有Fi3001才有这个功能,如果电话线被拨掉,先触发摘机事件,经过20-30
秒后再触发悬空事件。
UBOX_EVENT_LINE_CANCEL振铃取消
通知应用程序振铃取消,当末次振铃停止超过6秒,则触发此事件。
未接电话可通过它判断。
uboxHnd是设备句柄
eventIDUBOX_EVENT_LINE_CANCEL
UBOX_EVENT_LINE_VOLTAGE线路电压事件
报告线路当前电压。
UBOX_EVENT_LINE_VOLTAGE
param1线路当前电压
Fi3001有这个功能,调用ubox_start_read_line_voltage()后,才会触发本事件,触发间隔是200ms,只有调用ubox_stop_read_line_voltage()才会停止触发这个事件。
Fi3002BV6.060版本也支持量电压功能,调用一次ubox_start_read_line_voltage()产生一次线路电压事件。
对于Fi3002BV6.060ubox_start_read_line_voltage()返回值也是线路电压,线路电压可以不用从这个事件获取,可以不用调用ubox_stop_read_line_voltage()函数。
UBOX_EVENT_STREAM_VOICE事件流式录音事件
通知应用程序流式录音数据包。
UBOX_EVENT_STREAM_VOICE
param1:
录音数据地址,需要转换,unsignedchar*pvoice=(unsigned
char*)param1
param2:
是录音数据长度
每隔20ms会有一个录音数据,可用于网络录音和录音监听。
要停止触发该事件必须调用
ubox_stop_record
UBOX_EVENT_CALLER_ID事件来电号码
通知应用程序来电号码。
UBOX_EVENT_CALLER_ID
param1是号码地址
param2是时间地址
param3是姓名地址
需要类型转换char*pszcallId=(char*)param1,
char*pszcalltime=(char*)param2,
char*pszcallname=(char*)param3
UBOX_EVENT_DTMF_DOWN事件用户按键
通知应用程序用户按键。
eve
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- USB 动态 开发 文档