
Podfile文件,添加以下内容:Podfile文件,请先执行pod init命令新建文件再添加以下内容。target 'Your Project' dopod 'TXLiteAVSDK_TRTC'end
pod install
Info.plist文件中添加摄像头和麦克风的申请权限:Key | Value |
Privacy - Camera Usage Description | 描述使用摄像头权限的原因,例如,需要访问您的相机权限,开启后视频聊天才会有画面 |
Privacy - Microphone Usage Description | 描述使用麦克风权限的原因,例如,需要访问您的麦克风权限,开启后聊天才会有声音 |
TRTCCloud实例。// 创建 trtcCloud 实例_trtcCloud = [TRTCCloud sharedInstance];_trtcCloud.delegate = self;
delegate属性注册事件回调,并监听相关事件和错误通知。// 错误通知是要监听的,需要捕获并通知用户- (void)onError:(TXLiteAVError)errCode errMsg:(NSString *)errMsg extInfo:(NSDictionary *)extInfo {if (ERR_ROOM_ENTER_FAIL == errCode) {[self toastTip:@"进房失败"];[self.trtcCloud exitRoom];}}
参数名称 | 字段类型 | 补充说明 | 填写示例 |
sdkAppId | 数字 | 1400000123 | |
userId | 字符串 | 只允许包含大小写英文字母(a-z、A-Z)、数字(0-9)及下划线和连词符。建议结合业务实际账号体系自行设置。 | test_user_001 |
userSig | 字符串 | eJyrVareCeYrSy1SslI... | |
roomId | 数字 | 数字类型的房间号。如果您想使用字符串形式的房间号,请使用 TRTCParams 中的 strRoomId。 | 29834 |
roomId代指的音视频房间。如果该房间不存在,SDK 会自动创建一个以字段roomId的值为房间号的新房间。appScene 参数,使用错误可能会导致卡顿率或画面清晰度不达预期。TRTCAppScene.videoCall。TRTCAppScene.audioCall。onEnterRoom(result)事件。其中,参数result大于0时表示进房成功,具体数值为加入房间所消耗的时间,单位为毫秒(ms);当result小于0时表示进房失败,具体数值为进房失败的错误码。- (void)enterRoom() {TRTCParams *params = [TRTCParams new];params.sdkAppId = SDKAppID;params.roomId = _roomId;params.userId = _userId;params.role = TRTCRoleAnchor;params.userSig = [GenerateTestUserSig genTestUserSig:params.userId];[self.trtcCloud enterRoom:params appScene:TRTCAppSceneVideoCall];}- (void)onEnterRoom:(NSInteger)result {if (result > 0) {[self toastTip:@"进房成功"];} else {[self toastTip:@"进房失败"];}}
onError事件,并返回参数errCode(错误码)、errMsg(错误原因)以及extraInfo(保留参数)。exitRoom()退出当前房间,才能进入下一个房间。view关联起来。// 实例代码:根据通知订阅(或取消订阅)远端用户的视频画面- (void)onUserVideoAvailable:(NSString *)userId available:(BOOL)available {UIView* remoteView = remoteViewDic[userId];if (available) {[_trtcCloud startRemoteView:userId streamType:TRTCVideoStreamTypeSmall view:remoteView];} else {[_trtcCloud stopRemoteView:userId streamType:TRTCVideoStreamTypeSmall];}}
onUserVideoAvailable()事件回调后没有立即调用startRemoteView()订阅视频流,SDK 将会在5s内停止接收来自远端的视频数据。//示例代码:发布本地的音视频流[self.trtcCloud startLocalPreview:_isFrontCamera view:self.view];[self.trtcCloud startLocalAudio:TRTCAudioQualityMusic];
// 调用退房后请等待 onExitRoom 事件回调[self.trtcCloud exitRoom];- (void)onExitRoom:(NSInteger)reason {NSLog(@"离开房间: reason: %ld", reason)}
onExitRoom回调后再启动其它音视频 SDK,否则可能会遇到硬件占用问题。文档反馈