AnyChat技术支持论坛
标题:
使用最新版本的加密、解码接口,可以进入加密,但是无法进入解码
[打印本页]
作者:
guangxian2012
时间:
2014-6-17 12:08
标题:
使用最新版本的加密、解码接口,可以进入加密,但是无法进入解码
您好,版主。我网上下载了贵团队6月13日发布的版本5.0.4086中发现贵团队公开了视音频加解密api。我在测试加解密api时发现,回调函数仅能对本地的视音频进行加密,而对于接收到的加密视音频数据并没有调用回调函数。
我使用的测试环境为windows 8.1 x64, visual studio 2013. 修改的客户端版本为C++版本。期待您的解惑。万分感谢!
我根据开发手册,对客户端进行的修改如下。
//初始化
dwDataEncryption = 1;
BRAC_SetSDKOption(BRAC_SO_CORESDK_DATAENCRYPTION, (CHAR*) &dwDataEncryption, sizeof(DWORD));
//设置回调加解密函数
BRAC_SetDataEncDecCallBack(AudioAndVideoEnAndDe, &mDataEnAndDe);
// 实现加解密回调函数
DWORD CALLBACK AudioAndVideoEnAndDe(DWORD dwUserId, DWORD dwFlags, LPBYTE lpInBuf, DWORD dwInSize, LPBYTE lpOutBuf, LPDWORD lpOutSize, LPVOID lpUserValue)
{
CDataEnAndDe *pDataEnAndDe = (CDataEnAndDe *) lpUserValue;
if ((dwFlags & BRAC_DATAENCDEC_FLAGS_ENCMODE) != 0) //加密模式
{
if ((dwFlags & BRAC_DATAENCDEC_FLAGS_AUDIO) != 0) //对音频数据进行加密
{
pDataEnAndDe->Encryption(lpInBuf, dwInSize, lpOutBuf, lpOutSize); //加密过程
}
else if ((dwFlags & BRAC_DATAENCDEC_FLAGS_VIDEO) != 0) //对视频数据进行加密
{
pDataEnAndDe->Encryption(lpInBuf, dwInSize, lpOutBuf, lpOutSize); //加密过程
}
else
;//此种情况应该不会出现
}
else if ((dwFlags & BRAC_DATAENCDEC_FLAGS_DECMODE) != 0) //解密模式
{
if ((dwFlags & BRAC_DATAENCDEC_FLAGS_AUDIO) != 0) //对音频数据进行解密
{
pDataEnAndDe->Decryption(lpInBuf, dwInSize, lpOutBuf, lpOutSize);
}
else if ((dwFlags & BRAC_DATAENCDEC_FLAGS_VIDEO) != 0) //对视频数据进行解密
{
pDataEnAndDe->Decryption(lpInBuf, dwInSize, lpOutBuf, lpOutSize);
}
else
;//此种情况应该不会出现
}
else
;//此种情况应该不会出现
return 1;
}
复制代码
作者:
廖斌
时间:
2014-6-17 12:13
您好,AudioAndVideoEnAndDe回调函数中返回1是错误代码、不加密,返回0才进行加密。如果不加密的话,是不会进入解密模式的,参考
http://bbs.anychat.cn/forum.php? ... &extra=page%3D1
。您返回0试试
作者:
guangxian2012
时间:
2014-6-17 12:19
廖斌 发表于 2014-6-17 12:13
您好,AudioAndVideoEnAndDe回调函数中返回1是错误代码、不加密,返回0才进行加密。如果不加密的话,是不会 ...
好的,我试试
作者:
guangxian2012
时间:
2014-6-17 12:21
改过了,可以了,太感谢了!
欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/)
Powered by Discuz! X3