海康的SDK技术文档比较坑,且不说介绍不全面,而且好多地方自相矛盾,综合多方面研究才摸索出正确的语音转发方式。
注明:语音转发是为了实现海康摄像头与PC间的双向语音通信,不同于对讲,这个主要是为了实现播放自己的视频文件。
直接上代码:
#define HPR_OK 0
#define HPR_ERROR -1
void CALLBACK fVoiceDataCallBack(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, void* pUser)
{
static int icount = 0;
// printf(" pyd---%5d Get voice data. size:%d.\n", icount, dwBufSize);
icount++;
//Send data to device after getting data.
char pSendData[80] = {0};
//NET_DVR_VoiceComSendData(lVoiceComHandle, pSendData, 80);
}
int Demo_VoiceTrans(string camIp,string camUser,string camPwd,int camPort,string vedioPath)
{
long lUserID;
void* lVoiceInit;
bool isG722;
//login
NET_DVR_USER_LOGIN_INFO struLoginInfo = {0};
NET_DVR_DEVICEINFO_V40 struDeviceInfoV40 = {0};
struLoginInfo.bUseAsynLogin = false;
struLoginI