集成Windows SDK
更新时间:2023-05-30
开发环境
请确保开发环境满足以下技术要求:
- Visual Studio 2017 版本
- 安装Windows Softerware Development Kit - Windows 10.0.17763.132 及以上
- 安装Microsoft Visual C++ 2017 Redistributable (x64/x86)
- Windows7、Windows8、Windows10或以上版本
- 支持麦克风、摄像头采集,或拥有支持音视频功能的外部设备
SDK下载
请前往RTC文档中心“下载专区>SDK&Demo下载”进行下载。
SDK目录说明
- include目录 ------ 放置api头文件
- libs目录 ------ 放置 RtcWindowsSdkDll.dll 和 RtcWindowsSdkDll.lib,以及证书文件 a
- third_libs目录 ------ 是libs目录的子目录,放置依赖的第三方库 ffmpeg.dll/ffmpeg.dll.lib
websockets_rtc.dll/websockets_rtc.lib
libcrypto-1_1-x64.dll
libssl-1_1-x64.dll
libcurl.dll/libcurl.lib
SDK集成
- 将include目录加入到头文件搜索路径。工程目录选项右键”属性”—->”c/c++”—->”常规”—->附加包含目录 添加include目录,如下图:
- 将libs,third_libs 目录加入到库搜索路径。工程目录选项右键”属性”—->”链接器”—->”常规”—->附加库目录 添加libs/third_libs目录,如下图:
- 指定链接库,指定libs/third_libs目录下的xxxx.lib。工程目录选项右键”属性”—->”链接器”—->”输入”—->附加依赖项 添加xxxx.lib,如下图:
- 将libs 和 third_libs目录下的xxxx.dll复制到二进制运行文件目录下。
完成以上步骤后,即可开始调用Windows RTC的API。
API调用流程
- c++ interface calling flow
-
c# interfac calling flow
API codes使用样例
......
externalVideoCapturer_ = std::make_shared<ExternalVideoCapturer>();
rtcRoomClient_ = baidurtc::createBaiduRtcRoomClient();
if (rtcRoomClient_) {
rtcRoomClient_->initSdk((char*)appid, (char*)token, (char*)cerpath);
if (isEnableExternalVideoCapturer) {
rtcRoomClient_->registerExternalVideoCapturer(externalVideoCapturer_);
}
rtcRoomClient_->registerVideoFrameObserver(videoFrameListener_, 2);
rtcRoomClient_->registerRtcMessageListener(this);
rtcRoomClient_->setBitRate(300000);//500kbs;
}
......
case WM_COMMAND:
if (button_ == reinterpret_cast<HWND>(lp)) {
if (BN_CLICKED == HIWORD(wp)) {
//OnDefaultAction();
char roomId[52];
GetWindowTextA(
edit1_,
roomId,
52);
if (roomId[0] == '\0') {
MessageBox("提示", "房间号不能为空", true);
return false;
}
//produce random user id
int userId = random(10000, 20000);
std::string userId_str = int2string(userId);
if (isPublisher) {
rtcRoomClient_->publishStreaming(roomId, (char*)userId_str.c_str(), true);
}
else {
rtcRoomClient_->subscribeStreaming((char*)roomid, (char*)userid, (char*)feedid);
}
}
}
......
打包应用程序-依赖的系统库
- libgcc_s_dw2-1.dll
- libstdc++-6.dll
- libwinpthread-1.dll
- ucrtbased.dll
- vcruntime140d.dll
- vc++ 运行环境 vcredist_x64, 在打包程序选项中选中后,会自动打包到安装程序包中