TestMeetingRoom)을 입력한 후 생성을 클릭합니다.
/lib/debug/GenerateTestUserSig.dart 파일을 찾아 엽니다.GenerateTestUserSig.dart 파일에서 관련 매개변수를 설정합니다.
파일 또는 폴더 | 기능 설명 |
TRTCMeetingIndex.dart | 회의 인터페이스 생성 또는 입장 |
TRTCMeetingRoom.dart | 화상 회의 메인 인터페이스 |
TRTCMeetingMemberList.dart | 참석자 목록 인터페이스 |
TRTCMeetingSetting.dart | 화상 회의 관련 매개변수 설정 인터페이스 |
TRTCMeeting.dart 파일에서 해당 컴포넌트가 제공하는 인터페이스 함수를 확인할 수 있으며, 해당 인터페이스를 사용해 사용자 정의 UI 인터페이스를 구현할 수 있습니다.

pubspec.yaml에 다음과 같이 종속성을 작성합니다.dependencies:tencent_trtc_cloud: 최신 버전 넘버tencent_im_sdk_plugin: 최신 버전 넘버
<key>NSMicrophoneUsageDescription</key><string>마이크 권한을 부여해야 정상적으로 음성 통화할 수 있습니다.</string>
/android/app/src/main/AndroidManifest.xml 파일을 엽니다.xmlns:tools="http://schemas.android.com/tools" 를 manifest에 추가합니다.tools:replace="android:label"을 application에 추가합니다.
lib/TRTCMeetingDemo/model/
sharedInstance 인터페이스를 호출하여 TRTCMeeting 컴포넌트의 인스턴스 객체를 생성합니다.registerListener 함수를 호출하여 컴포넌트의 이벤트 알림을 등록합니다.login 함수를 호출해 컴포넌트에 로그인하고, 다음 표를 참조해 핵심 매개변수를 입력합니다.매개변수 이름 | 역할 |
sdkAppId | TRTC 콘솔에서 SDKAppID를 확인할 수 있습니다. |
userId | 현재 사용자 ID이며, 문자열 유형은 영어 알파벳(a-z, A-Z), 숫자(0-9), 대시 부호(-), 언더바(_)만 허용됩니다. 실제 비즈니스 계정 시스템에 따라 직접 설정하는 것을 권장합니다. |
userSig |
TRTCMeeting trtcMeeting = TRTCMeeting.sharedInstance();trtcMeeting.registerListener(onListener);ActionCallback res = await trtcMeeting.login(GenerateTestUserSig.sdkAppId,userId,GenerateTestUserSig.genTestSig(userId),);if (res.code == 0) {// 로그인 성공}

// 1. 호스트 닉네임 및 프로필 사진 설정trtcMeeting.setSelfProfile('my_name', 'my_avatar');// 2. 호스트 회의 생성ActionCallback res = await trtcMeeting.createMeeting(roomId);if (res.code == 0) {// 회의 생성 성공// 3. 카메라 및 오디오 수집 활성화trtcMeeting.startCameraPreview(true, TRTCCloudVideoViewId);trtcMeeting.startMicrophone();// 4. 뷰티 필터 설정trtcMeeting.getBeautyManager().setBeautyStyle(TRTCCloudDef.TRTC_BEAUTY_STYLE_PITU);trtcMeeting.getBeautyManager().setBeautyLevel(6);}

// 1. 참석자 닉네임 및 프로필 사진 설정trtcMeeting.setSelfProfile('my_name', 'my_avatar');// 2. 참석자가 enterMeeting을 호출하여 회의 방 입장ActionCallback res = await trtcMeeting.enterMeeting(roomId);if (res.code == 0) {// 회의 입장 성공// 3. 카메라 및 오디오 수집 활성화trtcMeeting.startCameraPreview(true, TRTCCloudVideoViewId);trtcMeeting.startMicrophone();// 4. 뷰티 필터 설정trtcMeeting.getBeautyManager().setBeautyStyle(TRTCCloudDef.TRTC_BEAUTY_STYLE_PITU);trtcMeeting.getBeautyManager().setBeautyLevel(6);}// 5. 참석자가 다른 참석자의 카메라 활성화 알림을 수신하면 재생됨trtcMeeting.registerListener(onListener);onListener(TRTCMeetingDelegate type, param) {switch (type) {case TRTCMeetingDelegate.onUserVideoAvailable:if (param['available']) {trtcMeeting.startCameraPreview(param['userId'],TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_BIG,TRTCCloudVideoViewId);} else {trtcMeeting.stopRemoteView(param['userId'],TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_BIG);}break;}}
await trtcMeeting.stopCameraPreview();trtcMeeting.startScreenCapture(videoFps: 10,videoBitrate: 1600,videoResolution: TRTCCloudDef.TRTC_VIDEO_RESOLUTION_1280_720,videoResolutionMode: TRTCCloudDef.TRTC_VIDEO_RESOLUTION_MODE_PORTRAIT,appGroup: iosAppGroup,);
// 발신측: 텍스트 메시지 발송trtcMeeting.sendRoomTextMsg('Hello Word!');// 수신측: 텍스트 메시지 수신trtcMeeting.registerListener(onListener);onListener(TRTCMeetingDelegate type, param) {switch (type) {case TRTCMeetingDelegate.onRecvRoomTextMsg:print('발신자: ' + param['userName'] + '메시지: ' + param['message']);break;}}
// 발신측: 사용자 정의 cmd로 금지어 알림 구분// eg: "CMD_MUTE_AUDIO"는 금지어 알림을 의미함trtcMeeting.sendRoomCustomMsg('CMD_MUTE_AUDIO', '1');// 수신측: 사용자 정의 메시지 수신trtcMeeting.registerListener(onListener);onListener(TRTCMeetingDelegate type, param) {switch (type) {case TRTCMeetingDelegate.onRecvRoomCustomMsg:if (param['command'] == 'CMD_MUTE_AUDIO') {// 금지어 알림 수신print('발신자: ' + param['userName'] + '음소거 알림: ' + param['message']);trtcMeeting.muteLocalAudio(message == '1');}break;}}
피드백