腾讯云实时音视频iOS_音视频解决方案_同尘科技
本文将介绍如何定制 TUIRoomKit 的用户界面,我们提供了两个方案供您选择:界面微调方案和自定义 UI 方案。
方案一:界面微调方案
通过直接修改我们提供的 UI 源代码,对 TUIRoomKit 的用户界面进行调整,TUIRoomKit 的界面源代码位于 Github 中的 iOS/ 文件夹下面:
替换图标
您可以直接修改 TUIRoomKit/Resources/TUIRoomKit.xcassets 文件夹下的图标组件,以确保整个 app 中的图标色调风格保持一致,请在替换时保持图标文件的名字不变。
替换文案
您可以通过修改 TUIRoomKit/Resources/Localized
文件中 values-zh 和 values-en 的strings.xml
文件来修改视频会议界面的字符串内容。
调整 UI 布局
您可以通过修改 TUIRoomKit/Source/View
文件下的不同页面来调整多人视频会议界面的 UI 布局:
├── Component │ ├── ButtonItemView.swift //通用View│ └── ListCellItemView.swift //通用View└── Page ├── RoomMainView.swift //会议主界面View ├── RoomMainViewController.swift //会议主界面ViewController ├── RoomRouter.swift //路由 └── Widget ├── BottomNavigationBar //底部栏 │ ├── BottomItemView.swift │ └── BottomView.swift ├── FloatWindow //悬浮窗 │ ├── RoomUserStatusView.swift │ └── RoomVideoFloatView.swift ├── MediaSettings //设置 │ ├── MediaSettingView.swift │ └── VideoChoicePanel.swift ├── TopNavigationBar //顶部栏 │ ├── TopItemView.swift │ └── TopView.swift ├── UserControlPanel //用户列表 │ ├── UserListManagerView.swift │ └── UserListView.swift ├── RaiseHandControlPanel //举手用户管理列表 │ └── RaiseHandApplicationListView.swift ├── TransferOwnerControlPanel //房间转让列表 │ └── TransferMasterView.swift ├── PopUpControlPanel //通用弹框 │ ├── PopUpView.swift │ └── PopUpViewController.swift └── VideoSeat //视频显示 ├── ScreenCaptureMaskView.swift ├── TUIVideoSeatCell.swift ├── TUIVideoSeatLayout.swift ├── TUIVideoSeatUserStatusView.swift └── TUIVideoSeatView.swift
底部按钮 BottomView 的修改
为了方便您自定义底部的功能按钮,我们的 BottomView 是通过读取 list 来自动构造,以开关视频按钮为例子,代码如下:
func createBottomData() { let muteVideoItem = ButtonItemData() //设置按钮默认标题 muteVideoItem.normalTitle = .unMuteVideoText //设置按钮点击后标题 muteVideoItem.selectedTitle = .muteVideoText //设置按钮默认图标 muteVideoItem.normalIcon = "room_camera_on" //设置按钮点击后图标 muteVideoItem.selectedIcon = "room_camera_off" //设置按钮图片资源获取处 muteVideoItem.resourceBundle = tuiRoomKitBundle() //设置按钮是否点击 muteVideoItem.isSelect = !(roomInfo.isOpenCamera) //设置按钮类型用于区分不同按钮 muteVideoItem.buttonType = .muteVideoItemType //设置按钮点击事件 muteVideoItem.action = { [weak self] sender in guard let self = self, let button = sender as? UIButton else { return } self.muteVideoAction(sender: button) }}
方案二:自定义 UI 方案
TUIRoomKit 的整体功能是基于 TUIRoomEngine 这个无 UI SDK 实现的,您可以完全基于 TUIRoomEngine 实现一套自己的 UI 界面。详情可见:TUIRoomEngine API 接口地址。
对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?