1.集成
-
开发环境
1.Android Studio 3.5+。
2.Android 4.1(SDK API 16)及以上系统
-
集成SDK
1.在 dependencies 中添加 TRTC SDK 的依赖。
dependencies {
implementation 'com.tencent.liteav:LiteAVSDK_TRTC:latest.release'
}
2.在 defaultConfig 中,指定 App 使用的 CPU 架构。
defaultConfig {
ndk {
abiFilters "armeabi", "armeabi-v7a", "arm64-v8a"
}
}
3.单击【Sync Now】,自动下载 SDK 并集成到工程里。
-
配置App权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
2.基础配置
-
获取工程包名对应的appId和签名
1.在腾讯云 实时音视频管理平台中创建应用

2.修改配置中会有应用的appId和密钥
3.签名可以在网页端“UserSig生成&校验”中直接生成,也可代码获取。
3.实际应用
-
初始化SDK的配置
1.基本参数
TRTCCloudDef.TRTCParams trtcParams = new TRTCCloudDef.TRTCParams();
trtcParams.sdkAppId = ; //获取的appid
trtcParams.userId = ; //进入房间显示的名称
trtcParams.roomId = ; //进入的房间号
// userSig是进入房间的用户签名,相当于密码(这里生成的是测试签名,正确做法需要业务服务器来生成,然后下发给客户端)
trtcParams.userSig = ;
trtcParams.role = TRTCRoleAnchor;
mTRTCCloud.enterRoom(trtcParams, TRTC_APP_SCENE_VIDEOCALL); //进入房间
2.基本使用
监听回调TRTCCloudImplListener
mTRTCCloud.setListener(new TRTCCloudImplListener(——))
- 回调中方法 public void onError(int errCode, String errMsg, Bundle extraInfo) {}
错误通知监听 错误通知意味着 SDK 不能继续运行 - 回调中方法 public void onUserVideoAvailable(String userId, boolean available) {}
userId 代表 用户的标识
available true进入 false 推出
3.所遇问题
- 无法拉到自己视频流 解决:appid和签名配置有误;本地视频流没有上传
- 他人流被拉伸 解决:可以选择有黑边但是显示完全的视频流显示方式 setRemoteViewFillMode()
- 切换本地流画面卡住 解决:可以先停止本地流,在上传本地流
- 拉取WebRTC黑频 解决:目前 WebRTC 在移动端 iOS 和 Android 上系统支持的不是很好,建议使用小程序方案
网友评论