




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
phonic_usb.ocx控件开发接口(一) 简介USB盒控件名字是phonic_usb.ocx,要使用控件必须先注册,包括动态库一起,也可以直接运行setup.bat批处理文件,自动帮你注册到系统目录下。该接口支持下面几种类型的产品,统一用此接口。Fi3001B 1路USB录音盒 (phonic_ubox.dll, phonic_utool.dll)Fi3101A 带耳麦的USB语音盒(1外1内)(phonic_ubox.dll,phonic_utoolI.dll)Fi3002B 2路USB录音盒 (phonic_ubox.dll, phonic_utoolII.dll)Fi3102A 2路USB 外线 (phonic_ubox.dll, phonic_utoolII.dll) 上面括号内表示:除了需要phonic_usb.ocx外,应用程序必须依赖的库的文件。其简单开发流程:1. 先调用OpenDevice函数;2. 如果USB录音盒设备已插入,会有设备插入事件通知上层程序;3. 电话摘机,振铃,挂机、按键和主叫号码都会有事件通知上层程序;4. 电话录音一般在摘机开始录音,调用RecordFile函数,挂机停止录音;5. 程序退出,最后调用CloseDevice()关闭设备,底层程序才会关闭。(二) 控件事件PlugIn 设备插入PLugIn(long uboxHandle)功 能:设备插入参 数: uboxHandle设备句柄 不同USB盒的句柄并不是连续的,但对于2路的盒子,其线路1和线路2的句柄值是相邻的。PlugOut 设备拨出PlugOut(long uboxHandle) 功 能:设备拨出。参 数:uboxHandle设备句柄 DeviceAlarm 报警DeviceAlarm(long uboxHandle,long param) 功 能:设备报警,软件要重新启动,否则不能录音和放音。参 数:uboxHandle设备句柄 param如下所示: UBOX_ALARM_CAN_FIND_MIC = 1,未能找到ubox 的MIC 设备 UBOX_ALARM_CAN_OPEN_MIC = 2,未能打开ubox 的MIC 设备 UBOX_ALARM_CAN_OPEN_PLAY = 3, 未能打开ubox 的放音设备 UBOX_ALARM_DEVICE_ERROR = 4,设备故障DeviceError 设备错误DeviceError (long uboxHandle)功 能:设备错误。参 数:uboxHandle设备句柄,Ring 振铃Ring(long uboxHandle) 功 能:电话振铃。参 数:uboxHandle设备句柄 对于Fi3101A,可以在振铃调用OpenBuzzerSwitch(uboxHandle,true)方法打开蜂鸣器,通知用户来电,在事件HookOff或者RingCancel下调用OpenBuzzerSwitch(uboxHandle,false)关闭蜂鸣器,。RingStop 停振事件RingStop (long uboxHandle)功 能:通知应用程序通道停振。参 数:uboxHandle设备句柄,说 明: 电话机振铃一般是振1秒,停振4秒的一个周期。RingCancle 振铃取消RingCancel (long uboxHandle)功 能:振铃取消,当末次振铃停止超过6秒,则触发此事件。未接电话可通过该事件判断参 数:uboxHandle设备句柄HookOff 摘机HookOff(long uboxHandle, long param1)功 能:电话摘机。参 数:uboxHandle设备句柄 Param1 = 0,表示电话机摘机 Param1 6,表示反向摘机,指软件摘机 Param1 = 7, 表示正向摘机,指软件摘机Hangup 挂机HangUp(long uboxHandle)功 能:电话挂机。参 数:uboxHandle设备句柄 HangIng 悬空 HangIng(long uboxHandle)功 能:线路悬空,线路接口没有连接好。参 数:uboxHandle设备句柄说 明: 只有Fi3001才有这个功能,如果电话线被拨掉,先触发摘机事件 ,经过20-30秒后再触发悬空事件。CallID事件 来电号码CallID(long uboxHandle, LPCTSTR callerNumber, LPCTSTR callerTime, LPCTSTR callerName)功 能:通知应用程序来电号码。参 数:uboxHandle 设备句柄,callerNumber号码 callerTime 时间 callerName 姓名 DtmfKey事件 用户按键DtmfKey (long uboxHandle, long dtmfCode)功 能:通知应用程序用户按键。参 数:uboxHandle设备句柄,dtmfCode是按键键值,需要类型转换 char dtmf = (char) dtmfCode。PlayEnd 放音结束PlayEnd (long uboxHandle)功 能:通知应用程序通道放音完毕。参 数:uboxHandle设备句柄,PlayError 放音错误PlayError (long uboxHandle)功 能:放音错误。参 数:uboxHandle设备句柄,ToneBusy 忙音事件ToneBusy (long uboxHandle)功 能:检测到忙音,表示判断对方已经挂机了。参 数:uboxHandle设备句柄,CallOutFinish 拨号完成事件CallOutFinish(long uboxHandle)功 能:拨号完成参 数:uboxHandle设备句柄,Polarity 极性检测事件Polarity (long uboxHandle, short lineSign)功 能:通知应用程序通知应用程序检测到极性反转。参 数:uboxHandle设备句柄,lineSign 正极,反极说 明: 极性检测用于外线呼出后对方摘机的判断以及通话过程中对方挂机的判断。极性反转的功能必须向电信部门另外申请。(三) 函数错误返回值UBOX_ERR_SUCCESS = 0, 操作成功UBOX_ERR_SYSTEM = -1, 系统错误,调用操作系统(windows)的方法时出现错误,错误的详细信息可查看日志文件: UBOX_ERR_DEVICE_NOT_FOUND= -2, 没有这个设备,可能设备已经被拔出UBOX_ERR_INVALID_HANDLE= -3, 不合法的UBOX_HANDLEUBOX_ERR_INVALID_PARAMETER= -4, 不合法的输入参数UBOX_ERR_EXCEPTION= -5, 发生异常UBOX_ERR_INVALID_WORK_MODE= -6, 错误的工作模式UBOX_ERR_UBOX_NOT_OPEN= -7, ubox设备尚未打开UBOX_ERR_CANNOT_CREATE_DIR= -10, 未能创建目录,当指定录音时,如果文件名包含目录路径,则ubox将试图建立相应的目录树。UBOX_ERR_CANNOT_CREATE_FILE= -11, 未能创建录音文件UBOX_ERR_INVALID_VOICE_CODER= -12, 不支持的语音编码UBOX_ERR_DEVICE_BUSY= -13, 设备忙,当设备已经在录音的时候再次指示其同类型(文件与文件、STREAM与STREAM)的录音,就会返回此错误码(四) 控件方法long OpenDevice(short workmode) 初始化语音设备功 能:初始化USB设备,设备是否打开成功不是由它决定的,设备打开成功由事件PLugIn通知的。参 数:workmode0,为录音模式就可以了。 Workmode 1诊断模式,用于捕获线路信息,供信号分析之用,支持的语音编码方式CODER_PCMWorkmode 2,配置模式返 回: 0成功,错误参照“函数错误返回值 ”相关方法:CloseDevice() 说明:只有Fi3001B配置模式才有用,下面有几个方法要在配置模式下使用。void CloseDevice() 关闭设备功 能:关闭设备;说 明:关闭设备是一切的结束。short GetProductID(long uboxHandle); 获取产品设备号功 能:获取产品设备号参 数:uboxHandle 设备句柄返 回: 对应的产品设备号: 1 FI3102A2 FI3002B3 FI3001B4 FI3101Ashort RecordFile(long uboxHandle, LPCTSTR filename, short coder) 录音到文件功 能:录音到文件参 数:uboxHandle 设备句柄filename 文件名 coder 录音编码率,支持以下编码: coder 0 CODER_ALAWcoder 1 CODER_PCMcoder 3 CODER_G729coder 20 CODER_SPEEX /这是8倍压缩,安装speexw.exe的插件,播放器就可以播放了coder = 38 mp3编码 coder100 CODER_ULAW一般推荐用CODER_ALAW,mp3和CODER_SPEEX编码。 选择mp3编码格式的,文件名后缀为.mp3,其它格式推荐使用.wav后缀返 回: 0成功,错误参照“函数错误返回值 ”Short StopRecord(long uboxHandle) 停止录音 功 能:停止录音 包括对文件和流式录音停止参 数:uboxHandle设备句柄返 回: 0成功,错误参照“函数错误返回值 ”Short GetHangThreshold(longuboxHandle) 读取悬空门限值功 能:读取悬空门限值参 数:uboxHandle设备句柄返 回:0 该返回值就是悬空门限值 0失败,Short SendDtmf(long uboxHandle, LPCTSTR dtmfNum) 拨号 功 能:发送号码(DTMF) 参 数: uboxHandle 设备句柄dtmfNum号码串返 回: 0成功,错误参照“函数错误返回值 ”说 明: 对于Fi3101A,电话机摘机,软件拨号,要调用软摘机函数,然后调用本函数,拨号声音会到耳麦里输出,号码拨完后,底层会自动软挂机,声音会切换到电话机里,如果电话机摘机,声音自动切换到电话机里,底层会自动软挂机,耳机无声音 。Fi3001B和Fi3002B,必须要先手动摘机,才可以拨号。对于有软摘机功能的产品(Fi3101A和Fi3102A),直接软件拨号,有可能拨号不成功,拨得太快了,交换机需要时间检测摘机,因此处理方法上层程序需要先软摘机后,延时1-2S钟,然后再调用SendDtmf()函数。Short PlayFile(long uboxHandle, LPCTSTR filename) 放音 功 能: 播放语音文件参 数: uboxHandle 设备句柄filename是语音文件。返 回: 0成功,错误参照“函数错误返回值 ”说 明: 放音格式为: A-law,u-law, 8k * 16 位 pcm文件Short StopPlay (long uboxHandle) 停止放音 功 能:停止播放。参 数: uboxHandle 设备句柄返 回: 0成功,错误参照“函数错误返回值 ”Short PlayPause (long uboxHandle) 暂停放音 功 能: 暂停播放,再调用一次,又继续播放,参 数: uboxHandle 设备句柄返 回: 0成功,错误参照“函数错误返回值 ”short SoftHookoff(long uboxHandle); 软件摘机 功 能:软件摘机参 数:uboxHandle: 设备句柄返 回: 0成功,错误参照“函数错误返回值 ”说 明: Fi3101A 和Fi3102A才具有该功能。short SoftHookon(long uboxHandle); 软件挂机 功 能:软件挂机 参 数:long uboxHandle: 设备句柄返 回: 0成功 0失败,说 明: Fi3101A 和Fi3102A才具有该功能。调用了ubox_soft_hook_off,才能挂断电话线路的,在振铃时,为了不接本电话,直接调用ubox_soft_hook_on是无效的,模拟线路没有拒接功能的。void CloseLogFile() 关闭日志文件功 能: 关闭日志文件 说明: 在CloseDevice之后调用该函数。Ubox.ini 文件说明: devicehang_voltage=3 (悬空门限电压值)hook_off_voltage=18 (摘机门限电压值)busy_dual_frequency=0 (下面几个是忙音参数的)busy_frequency0=450busy_frequency1=420busy_on=350busy_off=350busy_on_off_error=50busy_enery_gate=12busy_period_count=3utool_name=phonic_utool.dll (如果要修改phon
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 技术服务费合同书
- 人员转公司合同范本
- 2025湖北省安全员《A证》考试题库及答案
- 高炉煤气管道拆除施工方案
- 2025江苏省建筑安全员《B证》考试题库
- 不锈钢警示桩施工方案
- 2025陕西省建筑安全员A证考试题库附答案
- 养猪基地合同范本
- 出售车辆合同范本
- 二年级口算题库100道
- 新教科版小学1-6年级科学需做实验目录
- 《智慧旅游认知与实践》课件-第九章 智慧旅行社
- 马工程《刑法学(下册)》教学课件 第16章 刑法各论概述
- 广东省中小学生休学、复学申请表
- GPIB控制VP-8194D收音信号发生器指令
- 建立良好师生关系
- 钢管、扣件、丝杠租赁明细表
- 施工现场临电临水施工方案
- 员工预支现金与费用报销流程
- 唐诗三百首(楷书)
- (新版)公用设备工程师《专业知识》(给排水)考试题库及答案
评论
0/150
提交评论