ISUP5.0语音对讲学习笔记
文章目录
准备阶段
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反初始化