共计 2245 个字符,预计需要花费 6 分钟才能阅读完成。
TRTC V1(iLiveSDK)和 V2(LiteAVSDK)版本有什么区别?
TRTC V1(iLiveSDK)如何降级至 V2(LiteAVSDK)?
1. 如果您的我的项目从未集成过 TRTC SDK,强烈推荐间接应用 V2(LiteAVSDK),V2 在通话质量、线路规格、接入难度以及性能扩大上均有劣势。
2. 如果您的我的项目曾经稳固并且没有问题,因为 V1 和 V2 的云端线路目前是不互通的,如果您的我的项目曾经进入稳固经营阶段,能够临时不降级。
3. 如果您的我的项目正在对接旧版本 V1,举荐您能够间接对接 V2 版本,V2 版本的 API 接口采纳全新设计,对接工夫上相比于旧版本要缩小很多。
4. 如果您曾经在应用旧版本 V1 并心愿晋升通话质量,因为 V1 和 V2 的云端线路目前是不互通的,所以降级新版本 SDK 须要通过一个“SDK 集成”、“放量铺开”以及“云端切换”的过程,大抵步骤如下:
(1)在现有的我的项目中集成新版本的 SDK,并通过测试。
(2)在房间列表中减少 SDK 版本号字段,App 依据服务端的字段决定应用 V1 版本还是 V2 版本。
(3)公布新版本 App 并期待版本逐步笼罩您的用户群。
(4)将房间列表中的 SDK 版本号字段从 V1 切换到 V2,实现线路的切换。
Android 端 LiteAVSDK 和 iLiveSDK 如何同时兼容集成?
iLiveSDK 和 LiteAVSDK 都应用到了 TRAE 来进行回声打消和降噪等音频解决,LiteAVSDK 中应用的 TRAE 版本更新,且蕴含了 iLiveSDK 中应用的全副性能接口,因而您只须要配置我的项目中应用 LiteAVSDK 中的 TRAE 库即可。
应用 aar 形式集成工程,批改您子项目(app 目录)下的 build.gradle,在 android{} 节点中进行如下配置:
留神:
增加援用时,LiteAVSDK 必须要在 iLiveSDK 后面。
iOS 端 LiteAVSDK + iLiveSDK + BeautySDK 如何同时兼容集成?
TRTC V1 版本中,应用了 BeautySDK 来实现美颜及动效等性能,TRTC V2 版本里,咱们将 BeautySDK 的性能内嵌到了 LiteAVSDK 之中,更加不便用户应用。如果曾经集成了 iLiveSDK,且在您的工程中已引入了 BeautySDK,就会遇到文件抵触,解决办法如下:
Windows 端 LiteAVSDK 和 iLiveSDK 如何同时兼容集成?
Windows 端的 LiteAVSDK 和 iLiveSDK 都应用到了 TRAE 来进行回声打消和降噪等音频解决,但 LiteAVSDK 应用的 TRAE 版本更新,且在性能应用上有差别,因而不能间接替换,您能够按以下办法进行解决。
工程构造
建议您的工程采纳如下构造:
|
|- 主程序.exe
|- 主程序.exe 依赖的其余文件
|- iLiveSDK.dll
|- iLiveSDK.dll 依赖的其余文件
|- LiteAV
| |- liteav.dll
| |- liteav.dll 依赖的其余文件
初始化办法
应用时,iLiveSDK 能够间接用 .lib 链接,也能够应用如下代码动静加载:
HMODULE hiLive = LoadLibrary(“iLiveSDK.dll”);
当您须要应用 LiteAVSDK 时,应用如下代码加载并进行初始化:
typedef ITRTCCloud (getTRTCShareInstanceMtd)();
typedef void(*destroyTRTCShareInstanceMtd)();
TCHAR dllPath[MAX_PATH];
GetModuleFileName(nullptr, dllPath, MAX_PATH);
PathRemoveFileSpec(dllPath);
wcscat(dllPath, L”\LiteAV\”);
SetDllDirectory(dllPath);
HMODULE hLiteAV = LoadLibrary(L”liteav.dll”);
if (!hLiteAV) {
printf(“ 载入 liteav.dll 失败: %d”, GetLastError());
return;
}
getTRTCShareInstanceMtd pGetTRTCShareInstance = (getTRTCShareInstanceMtd)GetProcAddress(hLiteAV, “getTRTCShareInstance”);
if (!pGetTRTCShareInstance) {
printf(“ 载入函数 getTRTCShareInstance 失败 ”);
return;
}
destroyTRTCShareInstanceMtd pDestroyTRTCShareInstance = (destroyTRTCShareInstanceMtd)GetProcAddress(hLiteAV, “destroyTRTCShareInstance”);
if (!pDestroyTRTCShareInstance) {
printf(“ 载入函数 destroyTRTCShareInstance 失败 ”);
return;
}
ITRTCCloud *pTrtcCloud = m_pGetTRTCShareInstance();
if (!pTrtcCloud) {
printf(“ 创立 TRTC 实例失败 ”);
return;
}
SetDllDirectory(nullptr);
pTrtcCloud->enterRoom(…);
如需帮助:https://partner.cloud.tencent…