若开发者 App 此前没有使用过 C++ ,参考如下步骤配置编译环境并实现自定义加解密的虚函数
1. 参考 Android 官方文档 配置 NDK 和 CMake 编译环境
2. 拷贝融云基于 RTCLib SDK 的开源项目 rtc-quickdemo-android cpp文件夹下所有文件 到开发者 app src/main/cpp/ 目录
3.修改 app/build.gralde 编译脚本
android {
...
externalNativeBuild {
cmake {
path "src/main/cpp/CMakeLists.txt"
version "3.10.2"
}
}
...
}
参照源码实现下面文件的函数,即可实现自定义音视频加解密功能。
实现custom_audio_frame_decryptor.cpp下面函数:
CustomAudioFrameDecryptor::Decrypt 开发者定义音频解密方法
CustomAudioFrameDecryptor::GetMaxPlaintextByteSize 根据音频密文长度,返回解密后数据的长度,底层用该返回值申请保存本次明文数据内容
实现custom_audio_frame_encryptor.cpp下面函数:
CustomAudioFrameEncryptor::Encrypt 开发者定义音频加密方法
CustomAudioFrameEncryptor::GetMaxCiphertextByteSize 根据音频明文长度,返回加密后数据的长度,底层用该返回值申请保存本次加密数据内容
实现custom_video_frame_decryptor.cpp下面函数:
CustomVideoFrameDecryptor::Decrypt 开发者定义视频解密方法
CustomVideoFrameDecryptor::GetMaxPlaintextByteSize 根据视频密文长度,返回解密后数据的长度,底层用该返回值申请保存本次明文数据内容
实现custom_video_frame_encryptor.cpp下面函数:
CustomVideoFrameEncryptor::Encrypt 开发者定义视频加密方法
CustomVideoFrameEncryptor::GetMaxCiphertextByteSize 根据视频明文长度,返回加密后数据的长度,底层用该返回值申请保存本次加密数据内容