TUIRoomKit
组件的接入,跟随本文档,您将在一个小时的时间内完成如下几个关键步骤,并最终得到一个包含完备 UI 界面的音视频会议功能。Android
目录下的debug
、timcommon
、 tuichat
、 tuicore
、 tuiroomkit
、tuivideoseat
子目录到您当前工程中的 app 同级目录中。setting.gradle
文件,并在其中增加如下代码,它的作用是将tuiroomkit
作为本地模块导入到您当前的项目中。include ':debug'include ':timcommon'include ':tuichat'include ':tuicore'include ':tuiroomkit'include ':tuivideoseat'
build.gradle
文件,并在其中增加如下代码,它的作用是声明当前 app
对新加入的 tuiroomkit
组件的依赖。api project(':tuiroomkit')
TUIRoomKit
依赖于 TRTC SDK 与 IM SDK
,在使用过程中,请在您的工程的根目录 build.gradle 添加如下代码:ext {imSdk = "com.tencent.imsdk:imsdk-plus:latest.release"liteavSdk = "com.tencent.liteav:LiteAVSDK_TRTC:latest.release"roomEngineSdk = "com.tencent.liteav.tuikit:tuiroomengine:latest.release"}
proguard-rules.pro
文件中添加如下代码:-keep class com.tencent.** { *; }
tuiroomkit/src/main/AndroidManifest.xml
。TUIRoomKit
中的相关接口完成组件的登录。这个步骤异常关键,因为只有在登录后才能正常使用 TUIRoomKit
的各项功能,故请您耐心检查相关参数是否配置正确:TUIRoomKit.sharedInstance(context).login(1400000001, // 请替换为步骤一取到的 SDKAppID"998", // 请替换为您的 UserID"xxxxxxxxxx"); // 您可以在控制台中计算一个 UserSig 并填在这个位置
TUIRoomKit
的 setSelfInfo
即可设置用户的用户名、头像。public abstract void setSelfInfo(String userName, String avatarURL);
参数 | 类型 | 含义 |
userName | String | 用户名 |
avatarURL | String | 用户头像 URL |
TUIRoomKit
的 enterPrepareView
就可以进入准备页面。boolean enablePreview=true; // 是否开启视频预览,不需预览则设置为falseTUIRoomKit.sharedInstance(context).enterPrepareView(enablePreview);
参数 | 类型 | 含义 |
enablePreview | boolean | 是否开启视频预览 |
TUIRoomKit.UIScene.MEETING
,就可以创建房间。public enum RoomScene {MEETING, // 会议类型的房间LIVE // 直播类型的房间}public class RoomInfo {public String name; // 房间名称,仅房主可设置public String owner; // 房主id,无需设置,进房后可自动获取public String roomId; // 房间号public boolean isOpenCamera; // 进房是否开启摄像头public boolean isUseSpeaker // 进房是否开启扬声器public boolean isOpenMicrophone; // 进房是否开启麦克风public boolean isCameraDisableForAllUser = false; // 房间内是否不允许打开视频,仅房主可设置,默认允许public boolean isMicrophoneDisableForAllUser = false; // 房间内是否不允许打开音频,仅房主可设置,默认允许public boolean isMessageDisableForAllUser = false; // 房间内是否不允许发送弹幕消息,仅房主可设置,默认允许public TUIRoomDefine.SpeechMode speechMode = TUIRoomDefine.SpeechMode.FREE_TO_SPEAK;//房间内发言管理模式,默认自由发言}RoomInfo roomInfo = new RoomInfo();roomInfo.name = "xx"; // 请设置为您需要的房间名称roomInfo.roomId = "998"; // 请设置为您需要的房间号roomInfo.isOpenCamera = true; // 请按照您的业务需求设置roomInfo.isOpenMicrophone = true; // 请按照您的业务需求设置roomInfo.isUseSpeaker = true; // 请按照您的业务需求设置TUIRoomKit.sharedInstance(context).createRoom(roomInfo, TUIRoomKit.RoomScene.MEETING);
参数 | 类型 | 含义 |
roomInfo | RoomInfo | 房间的基本信息 |
scene | TUIRoomKit.RoomScene | 房间类型,示例: TUIRoomKit.RoomScene.MEETING |
RoomInfo roomInfo = new RoomInfo();roomInfo.roomId = "998"; // 请设置为您要进入的房间号roomInfo.isOpenCamera = true; // 请按照您的业务需求设置roomInfo.isOpenMicrophone= true; // 请按照您的业务需求设置roomInfo.isUseSpeaker = true; // 请按照您的业务需求设置TUIRoomKit.sharedInstance(context).enterRoom(roomInfo)
参数 | 类型 | 含义 |
roomInfo | RoomInfo | 房间的基本信息 |
roomId、isOpenCamera、isOpenMicrophone、isUseSpeaker
四个字段,其他字段无需设置。
本页内容是否解决了您的问题?