iOS

最近更新时间:2024-09-26 11:02:51

我的收藏
本文将介绍如何快速完成TUIRoomKit组件的接入,跟随本文档,您将在一小时的时间内完成如下几个关键步骤,并最终得到一个包含完备 UI 界面的音视频会议功能。

环境准备

iOS 13.0 及更高。
Xcode 12.0 及更高。
Swift 4.2 及更高。

步骤一:开通服务

在使用 TUIRoomKit 发起会议前,您需要前往控制台开通 TUIRoomKit 专属的多人音视频互动服务,具体步骤请参见 开通服务

步骤二:导入TUIRoomKit组件

1. 在您的 Podfile 文件中添加以下依赖。
pod 'TUIRoomKit'
2. 执行以下命令,安装组件。
pod install
说明:
如果无法安装 TUIRoomKit 最新版本,执行以下命令更新本地的 CocoaPods 仓库列表:
pod repo update

步骤三:工程配置

使用音视频功能,需要授权麦克风、摄像头和相册的使用权限。在 App 的 Info.plist 中添加以下几项,分别对应麦克风、摄像头和相册在系统弹出授权对话框时的提示信息。
<key>NSCameraUsageDescription</key>
<string>TUIRoomKit需要访问您的相机权限</string>
<key>NSMicrophoneUsageDescription</key>
<string>TUIRoomKit需要访问您的麦克风权限</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>TUIRoomKit需要访问您的相册</string>




步骤四:登录

在您的项目中添加如下代码,它的作用是通过调用TUICore 中的相关接口完成TUI组件的初始化。这个步骤非常关键,因为只有在登录成功后才能正常使用 TUIRoomKit 的各项功能,故请您耐心检查相关参数是否配置正确:
Swift
OC
import TUICore

TUILogin.login(1400000001, // 请替换为步骤一取到的 SDKAppID
userID: "998", // 请替换为您的 UserID
userSig: "xxxxxxxxxx") { // 您可以在控制台中计算一个 UserSig 并填在这个位置
print("login success")
} fail: { (code, message) in
print("login failed, code: \\(code), error: \\(message ?? "nil")")
}
#import "TUICore/TUILogin.h"

[TUILogin login:1400000001 // 请替换为步骤一取到的 SDKAppID
userID:@"998" // 请替换为您的 UserID
userSig:@"xxxxxxxxxx" succ:^{ // 您可以在控制台中计算一个 UserSig 并填在这个位置
NSLog(@"login,success");
} fail:^(int code, NSString * _Nullable msg) {
NSLog(@"login,failed,code:%d,msg:%@",code,msg);
}];
参数说明 这里详细介绍一下 login 函数中所需要用到的几个关键参数:
SDKAppID:在 开通服务 中的第3步中您已经获取到,这里不再赘述。
UserID:当前用户的 ID,字符串类型,只允许包含英文字母(a-z 和 A-Z)、数字(0-9)、连词符(-)和下划线(_)。
UserSig:使用 开通服务 的第3步中获取的 SDKSecretKey 对 SDKAppID、UserID 等信息进行加密,就可以得到 UserSig,它是一个鉴权用的票据,用于腾讯云识别当前用户是否能够使用 TRTC 的服务。您可以通过控制台中的 辅助工具 生成一个临时可用的 UserSig。
更多信息请参见 如何计算及使用 UserSig

步骤五:主持人发起快速会议

会议主界面为 ConferenceMainViewController,您只需要在登录完成后,按照如下示例创建并跳转 ConferenceMainViewController 即可发起快速会议。
Swift
OC
import TUIRoomKit

// CreateConferenceViewController 为您自己的 ViewController
class CreateConferenceViewController: UIViewController {
func quickStartConferenceAction() {
let params = StartConferenceParams(roomId: "123456") // 请替换 "123456" 为您自定义的会议号
let conferenceViewController = ConferenceMainViewController()
conferenceViewController.setStartConferenceParams(params: params)
navigationController?.pushViewController(conferenceViewController, animated: true)
}
}
#import <TUIRoomKit/TUIRoomKit-Swift.h>

// CreateConferenceViewController 为您自己的 ViewController
@interface CreateConferenceViewController ()
@end

@implementation CreateConferenceViewController

- (void)quickStartConferenceAction {
// 请替换 "123456" 为您自定义的房间号
StartConferenceParams *params = [[StartConferenceParams alloc] initWithRoomId:@"12345"
isOpenMicrophone:YES
isOpenCamera:NO
isOpenSpeaker:YES
isMicrophoneDisableForAllUser:NO
isCameraDisableForAllUser:NO
isSeatEnabled:NO name:@"YourConferenceName"];
ConferenceMainViewController *conferenceViewController = [[ConferenceMainViewController alloc] init];
[conferenceViewController setStartConferenceParamsWithParams:params];
[self.navigationController pushViewController:conferenceViewController animated:YES];
}
@end

步骤六:普通成员加入会议

按照如下示例创建并跳转 ConferenceMainViewController,即可加入一场会议。
Swift
OC
import TUIRoomKit

// EnterConferenceViewController 为您自己的 ViewController
class EnterConferenceViewController: UIViewController {
private func joinConferenceAction() {
let params = JoinConferenceParams(roomId: "123456") // 请替换 "123456" 为您要加入的会议号
let conferenceViewController = ConferenceMainViewController()
conferenceViewController.setJoinConferenceParams(params: params)

navigationController?.pushViewController(conferenceViewController, animated: true)
}
}
#import <TUIRoomKit/TUIRoomKit-Swift.h>

// EnterConferenceViewController 为您自己的 ViewController
@interface EnterConferenceViewController ()
@end

@implementation EnterConferenceViewController

- (void)joinConferenceAction {
// 请替换 "123456" 为您自定义的房间号
JoinConferenceParams *params = [[JoinConferenceParams alloc]initWithRoomId:@"12345" isOpenMicrophone:YES isOpenCamera:NO isOpenSpeaker:YES];
ConferenceMainViewController *conferenceViewController = [[ConferenceMainViewController alloc] init];
[conferenceViewController setJoinConferenceParamsWithParams:params];
[self.navigationController pushViewController:conferenceViewController animated:YES];
}
@end



成员会议主界面



成员用户列表

常见问题

如果您的接入和使用中遇到问题,请参见 常见问题

更多特性

交流与反馈

如果您在接入和使用过程有任何需要或者反馈,欢迎加入我们的 TUIRoomKit 技术交流平台 zhiliao,进行技术交流和问题反馈。