![]() |
setting.gradle에서 가져오기를 완료합니다.include ':tuiroom'include ':debug'include ':tuibeauty'
build.gradle 파일에 tuiroom, debug 및 tuibeauty에 대한 종속성을 추가합니다.api project(':tuiroom')api project(':debug')api project(':tuibeauty')
build.gradle 파일에 TRTC SDK 및 IIM SDK에 대한 종속성을 추가합니다.ext {liteavSdk = "com.tencent.liteav:LiteAVSDK_TRTC:latest.release"imSdk = "com.tencent.imsdk:imsdk-plus:latest.release"}
<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.RECORD_AUDIO" /><uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /><uses-permission android:name="android.permission.CAMERA" /><uses-feature android:name="android.hardware.camera"/><uses-feature android:name="android.hardware.camera.autofocus" />
-keep class com.tencent.** { *; }
// 1. 컴포넌트에 로그인TUILogin.addLoginListener(new TUILoginListener() {@Overridepublic void onKickedOffline() { // 강제 로그아웃 콜백(예시: 계정이 다른 디바이스에서 로그인된 경우)}@Overridepublic void onUserSigExpired() { // userSig 만료 콜백}});TUILogin.login(context, "사용자 SDKAppId", "사용자 userId", "사용자 userSig", null);// 2. TUIRoom 인스턴스 초기화TUIRoom tuiRoom = TUIRoom.sharedInstance(this);

tuiRoom.createRoom(12345, TUIRoomCoreDef.SpeechMode.FREE_SPEECH, true, true);
tuiRoom.enterRoom(12345, true, true);
// 1. 방 소유자가 API를 호출하여 방 해산mTUIRoomCore.destroyRoom(new TUIRoomCoreCallback.ActionCallback() {@Overridepublic void onCallback(int code, String msg) {}});방 구성원은 방 해산을 알리는 onDestroyRoom 콜백 메시지 수신@Overridepublic void onDestroyRoom() {//방 소유자가 방을 해산하고 퇴장}
// 1. 방 구성원이 API를 호출하여 방 퇴장mTUIRoomCore.leaveRoom(new TUIRoomCoreCallback.ActionCallback() {@Overridepublic void onCallback(int code, String msg) {}});//방 구성원은 구성원 퇴장을 알리는 onRemoteUserLeave 콜백 메시지 수신@Overridepublic void onRemoteUserLeave(String userId) {Log.d(TAG, "onRemoteUserLeave userId: " + userId);}
// 1. AndroidManifest.xml 파일에 SDK 녹화 기능의 activity 및 권한 추가<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /><application><activityandroid:name="com.tencent.rtmp.video.TXScreenCapture$TXScreenCaptureAssistantActivity"android:theme="@android:style/Theme.Translucent" /></application>// 2. 인터페이스에서 플로팅 창 권한 신청if (Build.VERSION.SDK_INT >= 23) {if (!Settings.canDrawOverlays(getApplicationContext())) {Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName()));startActivityForResult(intent, 100);} else {startScreenCapture();}} else {startScreenCapture();}// 3. 시스템 콜백 결과protected void onActivityResult(int requestCode, int resultCode, Intent data) {if (requestCode == 100) {if (Build.VERSION.SDK_INT >= 23) {if (Settings.canDrawOverlays(this)) {// 사용자 권한 부여 성공startScreenCapture();} else {}}}}// 4. 화면 공유 활성화private void startScreenCapture() {TRTCCloudDef.TRTCVideoEncParam encParams = new TRTCCloudDef.TRTCVideoEncParam();encParams.videoResolution = TRTCCloudDef.TRTC_VIDEO_RESOLUTION_1280_720;encParams.videoResolutionMode = TRTCCloudDef.TRTC_VIDEO_RESOLUTION_MODE_PORTRAIT;encParams.videoFps = 10;encParams.enableAdjustRes = false;encParams.videoBitrate = 1200;TRTCCloudDef.TRTCScreenShareParams params = new TRTCCloudDef.TRTCScreenShareParams();mTUIRoom.stopCameraPreview();mTUIRoom.startScreenCapture(encParams, params);}
피드백