ISUP5.0语音对讲学习笔记
文章目录
- ISUP5.0语音对讲学习笔记
-
- 准备阶段
-
- CMS初始化
- SMS初始化
- CMS监听
- CMS注册事件回调
- SMS语音对讲监听
- 工作阶段
-
- 发送对讲命令
- 发送推流命令
- SMS新连接回调
- 数据回调
- 音频发送
- 结束阶段
-
- 发送停止语音对讲命令
- 停止流媒体对讲
- 其他
准备阶段
CMS初始化
SMS初始化
CMS监听
CMS注册事件回调
BOOL RegistrationCallBack(LONG lUserID, DWORD dwDataType,void *pOutBuffer, DWORD dwOutLen,void *pInBuffer, DWORD dwInLen,void *pUser
)
{if (ENUM_DEV_ON == dwDataType){// 设备上线回调...}else if (ENUM_DEV_OFF == dwDataType){// 设备下线回调...}else if (ENUM_DEV_AUTH == dwDataType){// Ehome5.0设备认证回调...}else if (ENUM_DEV_SESSIONKEY == dwDataType){// Ehome5.0设备Sessionkey回调...}else if (ENUM_DEV_DAS_EHOMEKEY_ERROR == dwDataType){// 校验密码失败...}else if (ENUM_DEV_DAS_REQ == dwDataType){// Ehome5.0设备重定向请求回调..}else{...}return TRUE;}
SMS语音对讲监听
工作阶段
发送对讲命令
发送推流命令
SMS新连接回调
BOOL VoiceTalkNewLinkCallback(LONG lLinkHandle,NET_EHOME_VOICETALK_NEWLINK_CB_INFO *pNewLinkCBInfo,void *pUserData){// 此处设置对讲数据回调return TRUE;}
数据回调
BOOL ISUPServer::VoiceTalkDataCallback(LONG lVoiceTalkHandle,NET_EHOME_VOICETALK_DATA_CB_INFO *pDataCBInfo,void *pUserData){// 此处处理设备端采集到的音频数据return TRUE;}
音频发送
结束阶段
发送停止语音对讲命令
停止流媒体对讲
其他
由于我开发的是长期服务,如果是短期对讲,还需要一下工作
- 关闭SMS监听
在程序结束时
- 关闭CMS监听
- CMS反初始化
- SMS反初始化