<h2 组件介绍
TUIRoom 是一个开源的音视频 UI 组件,通过在项目中集成 TUIRoom 组件,您只需要编写几行代码就可以为您的 App 添加屏幕分享、美颜、低延时视频通话等。TUIRoom 同时支持 Android、Windows,Mac 等平台,基本功能如下图所示:
![]() |
![]() |
![]() |
<h2 组件集成
<h3 步骤一:导入 TUIRoom 组件
通过 cocoapods 导入组件,具体步骤如下:
Podfile 文件同一级目录下创建 TUIRoom 文件夹。Source、Resources 、TUIBeauty、TXAppBasic文件夹 和 TUIRoom.podspec 文件拷贝到您在 步骤1 创建的 TUIRoom 文件夹下。pod install 命令,完成导入。
# :path => "指向TUIRoom.podspec的相对路径" pod 'TUIRoom', :path => "./TUIRoom/TUIRoom.podspec", :subspecs => ["TRTC"] # :path => "指向TXAppBasic.podspec的相对路径" pod 'TXAppBasic', :path => "./TUIRoom/TXAppBasic/" # :path => "指向TUIBeauty.podspec的相对路径" pod 'TUIBeauty', :path => "./TUIRoom/TUIBeauty/"
注意:
Source、Resources文件夹 和TUIRoom.podspec文件必需在同一目录下。
- TXAppBasic.podspec 在 TXAppBasic 文件夹下。
- TUIBeauty.podspec 在 TCBeautyKit 文件夹下。
<h3 步骤二:配置权限
使用音视频功能,需要授权麦克风和摄像头的使用权限。在 App 的 Info.plist 中添加以下两项,分别对应麦克风和摄像头在系统弹出授权对话框时的提示信息。
<key>NSCameraUsageDescription</key> <string>RoomApp需要访问您的相机权限,开启后录制的视频才会有画面</string> <key>NSMicrophoneUsageDescription</key> <string>RoomApp需要访问您的麦克风权限,开启后录制的视频才会有声音</string>

<h3 步骤三:创建并初始化 TUI 组件库
@import TUIRoom;
@import TUICore;
// 1.组件登录
[TUILogin login:@"您的SDKAppID" userID:@"您的UserID" userSig:@"您的UserSig" succ:^{
} fail:^(int code, NSString *msg) {
}];
// 2.初始化TUIRoom实例
TUIRoom *tuiRoom = [TUIRoom sharedInstance];
import TUIRoom
import TUICore
// 1.组件登录
TUILogin.login("您的SDKAppID", userID: "您的UserID", userSig: "您的UserSig") {
} fail: { code, msg in
}
// 2.初始化TUIRoom实例
let tuiRoom = TUIRoom.sharedInstance
参数说明:

<h3 步骤四:实现多人音视频互动
@import TUIRoom;
[tuiRoom createRoomWithRoomId:@"您的RoomId" speechMode:TUIRoomFreeSpeech isOpenCamera:YES isOpenMicrophone:YES];
import TUIRoom
tuiRoom.createRoom(roomId: "您的RoomId", speechMode: .freeSpeech, isOpenCamera: true, isOpenMicrophone: true)
@import TUIRoom;
[tuiRoom enterRoomWithRoomId:@"对方的RoomId" isOpenCamera:YES isOpenMicrophone:YES]
import TUIRoom
tuiRoom.enterRoom(roomId: "对方的RoomId", isOpenCamera: true, isOpenMicrophone: true)
<h3 步骤五:房间管理(可选)
@import TUIRoom;
[[TUIRoomCore shareInstance] destroyRoom:^(NSInteger code, NSString * _Nonnull message) {
}];
import TUIRoom
TUIRoomCore.shareInstance().destroyRoom { [weak self] _, _ in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true)
}
@import TUIRoom;
[[TUIRoomCore shareInstance] leaveRoom:^(NSInteger code, NSString * _Nonnull message) {
}];
import TUIRoom
TUIRoomCore.shareInstance().leaveRoom { [weak self] _, _ in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true)
}
<h3 步骤六:屏幕分享(可选)
实现屏幕分享 TUIRoomCore#startScreenCapture。屏幕分享工程配置请参见 实时屏幕分享(iOS)。
@import TUIRoom;
@import TXLiteAVSDK_Professional;
TRTCVideoEncParam *params = [[TRTCVideoEncParam alloc] init];
params.videoResolution = TRTCVideoResolution_1280_720;
params.resMode = TRTCVideoResolutionModePortrait;
params.videoFps = 10;
params.enableAdjustRes = NO;
params.videoBitrate = 1500;
[[TUIRoomCore shareInstance] startScreenCapture:param];
import TUIRoom
// 屏幕分享
let params = TRTCVideoEncParam()
params.videoResolution = TRTCVideoResolution._1280_720
params.resMode = TRTCVideoResolutionMode.portrait
params.videoFps = 10
params.enableAdjustRes = false
params.videoBitrate = 1500
TUIRoomCore.shareInstance().startScreenCapture(params)
<h2 常见问题
<h3 CocoaPods 如何安装?
在终端窗口中输入如下命令(需要提前在 Mac 中安装 Ruby 环境):
sudo gem install cocoapods
更多帮助信息,详情请参见 TUI 场景化解决方案常见问题。欢迎加入 QQ 群:592465424,进行技术交流和反馈。
服务器购买/咨询热线:15637009171或15617636856
本文链接:http://www.sqxnmj.com/alfwq/27996.html