本文介绍如何替换 TUICallKit 的来电铃声,来电铃声分为应用铃声和离线推送铃声。
设置应用铃声
设置应用铃声有两种方式:
1. 替换默认的铃声资源
如果您通过源码依赖 TUICallKit 组件,您可以替换
res\\raw
文件夹下的音频文件来达到替换铃声的目的:文件名 | 用途 |
phone_dialing.mp3 | 发起呼叫时的铃音 |
phone_ringing.mp3 | 接到呼叫时的铃音 |
2. 设置铃声接口
TUICallKit.createInstance(context).setCallingBell(filePath)
TUICallKit.createInstance(context).setCallingBell(filePath);
设置静音模式
TUICallKit.createInstance(context).enableMuteMode(true)
TUICallKit.createInstance(context).enableMuteMode(true);
设置离线推送铃音
离线通知铃声仅支持以下厂商自定义:华为、小米、FCM,其他厂商例如:OPPO、vivo、荣耀等暂不支持。
将铃音文件添加到本地 Android Studio 工程 res/raw 目录下。
调用接口 setAndroidSound() 和 setIOSSound() 接口设置铃声。
val pushInfo = OfflinePushInfo()pushInfo.title = "Mike" pushInfo.desc = "You have a new call"pushInfo.androidSound = "phong_ring"val params = TUICallDefine.CallParams() params.offlinePushInfo = pushInfo TUICallKit.createInstance(context).call("mike", TUICallDefine.MediaType.Video, params, callback)
TUICallDefine.OfflinePushInfo pushInfo = new TUICallDefine.CallParams().offlinePushInfo; pushInfo.setAndroidSound("phone_ring");
注意:
将铃音文件添加到本地 Android Studio 工程 res/raw 目录下。
Android 8.0 之前,调用 setAndroidSound() 和 setIOSSound() 接口设置铃声。
Android 8.0 之后,还需要登录小米厂商控制台并创建channel并做好配置,然后在 即时通信 IM 控制台中配置 ChannelID,或在参数中配置。
val pushInfo = OfflinePushInfo()pushInfo.title = "Mike" pushInfo.desc = "You have a new call"pushInfo.androidSound = "phong_ring"pushInfo.androidXiaoMiChannelID = "channelID"val params = TUICallDefine.CallParams() params.offlinePushInfo = pushInfo TUICallKit.createInstance(context).call("mike", TUICallDefine.MediaType.Video, params, callback)
FCM自定义铃声,需要在登录之前进行配置,详情请参见 setCustomFCMRing。
TIMPushManager.getInstance().setCustomFCMRing("fcm_push_channel", "phone_ring", true)
Android 8.0 之前,调用setAndroidSound() 和 setIOSSound() 接口设置铃声。
Android 8.0之后,FCM 需要在 即时通信 IM 控制台中配置 channelID,或在参数中配置。
val pushInfo = OfflinePushInfo()pushInfo.title = "Mike" pushInfo.desc = "You have a new call"pushInfo.androidSound = "phong_ring"pushInfo.androidFCMChannelID = "fcm_push_channel"val params = TUICallDefine.CallParams() params.offlinePushInfo = pushInfo TUICallKit.createInstance(context).call("mike", TUICallDefine.MediaType.Video, params, callback)
如果您想自定义该铃声,可以替换
tuicallkit-kt/src/main/res/raw/phone_ringing.mp3
文件。注意:
替换掉该铃声后,不论应用在前台、后台或者离线,铃声都会是替换后的铃声。
替换后其他厂商手机收到邀请后的铃声也会是替换后的铃声。