TUIRoom 是一个开源的音视频 UI 组件,通过在项目中集成 TUIRoom 组件,您只需要编写几行代码就可以为您的 App 添加屏幕分享、美颜、低延时视频通话等。TUIRoom 同时支持 Android、Windows,Mac 等平台,基本功能如下图所示:
![]() |
![]() |
![]() |
您可通过 cocoapods 导入组件,具体步骤如下:
说明:如果需要屏幕分享功能,您可以通过 官网链接 去下载TXLiteAVSDK_ReplayKitExt.framework,然后加入到自己工程中,在 target 中新建"Broadcast Upload Extension",实现可以参考 示例工程。
Resources
、SDK
、Source
文件夹 和TUIRoom.podspec
文件到您的工程。Podfile
文件中添加以下依赖。之后执行 pod install
命令,完成导入。# TXLiteAVSDK
pod 'TXLiteAVSDK_TRTC'
# :path => "指向TXAppBasic.podspec所在目录的相对路径"
pod 'TXAppBasic', :path => "../SDK/TXAppBasic/"
# :path => "指向TCBeautyKit.podspec所在目录的相对路径"
pod 'TCBeautyKit', :path => "../SDK/TCBeautyKit/"
# :path => "指向TUIRoom.podspec所在目录的相对路径"
pod 'TUIRoom', :path => "../", :subspecs => ["TRTC"]
注意:
Source
、Resources
文件夹 和TUIRoom.podspec
文件必需在同一目录下。
- TXAppBasic.podspec 在 TXAppBasic 文件夹下。
- TCBeautyKit.podspec 在 TCBeautyKit 文件夹下。
使用音视频功能,需要授权麦克风和摄像头的使用权限。在 App 的 Info.plist 中添加以下两项,分别对应麦克风和摄像头在系统弹出授权对话框时的提示信息。
TUILogin.initWithSdkAppID(Int32("您的sdkAppID"))
TUILogin.login("您的userId", userSig: "您的userSig", succ: {
debugPrint("login success")
}, fail: { code, errorDes in
debugPrint("login failed, code:\(code), error: \(errorDes ?? "nil")")
})
参数说明
**实现房主创建多人音视频互动房间 TUIRoomCore#createRoom**。
let roomId = 123
TUIRoomCore.shareInstance().createRoom("\(roomId)",speechMode: .freeSpeech,callback: { [weak self] code, message in
if code == 0 {
debugPrint("create room success")
} else {
}
})
**实现其他成员加入音视频房间 TUIRoomCore#enterRoom**。
let roomId = 123
TUIRoomCore.shareInstance().enterRoom("\(roomId)", callback: { [weak self] code, message in
if code == 0 {
debugPrint("enter room success")
} else {
}
})
实现离开房间
if isHomeowner {
TUIRoomCore.shareInstance().destroyRoom { [weak self] _, _ in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true)
}
} else {
TUIRoomCore.shareInstance().leaveRoom { [weak self] _, _ in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true)
}
}
**实现屏幕分享 TUIRoomCore#startScreenCapture**。
startScreenCapture
实现分享。onRemoteUserScreenVideoAvailable
的事件通知。// 按钮单击实现屏幕分享
if #available(iOS 12.0, *) {
// 屏幕分享
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)
TUIRoomBroadcastExtensionLauncher.launch()
} else {
view.window?.makeToast(.versionLowToastText)
}
在终端窗口中输入如下命令(需要提前在 Mac 中安装 Ruby 环境):
sudo gem install cocoapods
说明:如果有任何需要或者反馈,您可以联系:colleenyu@tencent.com。
本页内容是否解决了您的问题?