|
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
およびIM 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.管理者が呼び出してルームを解散mTUIRoomCore.destroyRoom(new TUIRoomCoreCallback.ActionCallback() {@Overridepublic void onCallback(int code, String msg) {}});メンバー側は、ルームの解散を通知するonDestroyRoomコールバックメッセージを受信します@Overridepublic void onDestroyRoom() {//管理者が解散し、ルームから退出}
// 1.管理者以外による退室の呼び出し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);}
この記事はお役に立ちましたか?