腾讯云即时通信IMAndroid_AI解决方案_同尘科技
本文将介绍如何定制 TUICallKit 的用户界面,我们提供了两个方案供您选择:界面微调方案和自实现 UI 方案。
方案一:界面微调方案
通过直接修改我们提供的 UI 源代码,对 TUICallKit 的用户界面进行调整,TUICallKit 的界面源代码位于 Github 中的 Android/tuicallkit
文件夹下面:
替换图标
您可以直接替换 res\drawable-xxhdpi
文件夹下的图标,以确保整个 App 中的图标色调风格保持一致,请在替换时保持图标文件的名字不变。
替换铃声
您可以替换 res\raw
文件夹下的三个音频文件来达到替换铃声的目的:
文件名 | 用途 |
phone_dialing.mp3 | 发起呼叫时的声音 |
phone_hangup.mp3 | 被挂断的声音 |
phone_ringing.mp3 | 接到呼叫时的声音 |
替换文案
您可以通过修改 values-zh 和 values-en 中的 strings.xml
文件来修改视频通话界面中的字符串内容。
方案二:自实现 UI 方案
TUICallKit 的整个通话功能是基于 TUICallEngine 这个无 UI 组件实现的,您可以删掉 tuicallkit 文件夹,完全基于 TUICallEngine 实现一套自己的 UI 界面。
TUICallEngine
TUICallEngine 是整个通话组件的底层接口,主要提供了1对1音视频通话和群组内通话的发起、接听、拒绝、结束以及设备操作等关键接口。
API | 描述 |
createInstance | 创建 TUICallEngine 实例(单例模式) |
destroyInstance | 销毁 TUICallEngine 实例(单例模式) |
init | 完成音视频通话基础能力的鉴权 |
addObserver | 增加事件回调 |
removeObserver | 移除回调接口 |
call | 发起 1v1 通话 |
groupCall | 发起群组通话 |
accept | 接听通话 |
reject | 拒绝通话 |
hangup | 结束通话 |
ignore | 忽略通话 |
inviteUser | 在群组通话中,邀请其他人加入 |
joinInGroupCall | 主动加入当前的群组通话中 |
switchCallMediaType | 切换通话媒体类型,例如视频通话切音频通话 |
startRemoteView | 开始订阅远端用户视频流 |
stopRemoteView | 停止订阅远端用户视频流 |
openCamera | 开启摄像头 |
closeCamera | 关闭摄像头 |
switchCamera | 切换前后摄像头 |
openMicrophone | 打开麦克风 |
closeMicrophone | 关闭麦克风 |
selectAudioPlaybackDevice | 选择音频播放设备(听筒/扬声器) |
setSelfInfo | 设置用户的昵称、头像 |
enableMultiDeviceAbility | 开启/关闭 TUICallEngine 的多设备登录模式 (尊享版套餐支持) |
TUICallObserver
TUICallObserver 是 TUICallEngine 对应的回调事件类,您可以通过此回调,来监听自己感兴趣的回调事件。
API | 描述 |
onError | 通话过程中错误回调 |
onCallReceived | 通话请求的回调 |
onCallCancelled | 通话取消的回调 |
onCallBegin | 通话接通的回调 |
onCallEnd | 通话结束的回调 |
onCallMediaTypeChanged | 通话的媒体类型发生改变的回调 |
onUserReject | xxxx 用户拒绝通话的回调 |
onUserNoResponse | xxxx 用户不响应的回调 |
onUserLineBusy | xxxx 用户忙线的回调 |
onUserJoin | xxxx 用户加入通话的回调 |
onUserLeave | xxxx 用户离开通话的回调 |
onUserVideoAvailable | xxx 用户是否有视频流的回调 |
onUserAudioAvailable | xxx 用户是否有音频流的回调 |
onUserVoiceVolumeChanged | 所有用户音量大小的反馈回调 |
onUserNetworkQualityChanged | 所有用户网络质量的反馈回调 |
关键类型定义
API | 描述 |
TUICallDefine.MediaType | 通话的媒体类型,枚举类型:视频通话、语音通话 |
TUICallDefine.Role | 通话的角色,枚举类型:主叫、被叫 |
TUICallDefine.Status | 通话的状态,枚举类型:空闲、待接听、接听中 |
TUICommonDefine.RoomId | 音视频房间 ID,支持数字、字符串两种类型 |
TUICommonDefine.Camera | 摄像头 ID 参数,枚举类型:前摄、后摄 |
TUICommonDefine.AudioPlaybackDevice | 声音的播放设备,枚举类型:扬声器、听筒 |
TUICommonDefine.NetworkQualityInfo | 当前的网络质量信息 |
对即时通讯IM解决方案有疑惑?想了解解决方案收费? 联系解决方案专家
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?