计算通话时长
本文档描述了如何通过配置来计算通话时长。
实现流程
如需计算通话时长,请执行以下操作:
-
将
ZegoUIKitPrebuiltCallConfig
的showCallDuration
属性设置为true
(显示当前通话计时器(默认值))。 -
开发者可以通过
onCallTimeUpdate
获取通话时长(参考以下代码)。
Note
如果需要实现定时自动挂断的功能,则可以使用以下方法挂断通话。
- 基本通话:调用
ZegoUIKitPrebuiltCallVC
的finish
方法。 - 携带邀请的通话:
ZegoUIKitPrebuiltCallInvitationService
的endCall
方法。
基本通话
携带邀请的通话
let appID: UInt32 = yourAppID
let appSign: String = yourAppSign
var userID: String = yourUserID
var userName: String = yourUserName
let config = ZegoUIKitPrebuiltCallConfig.oneOnOneVideoCall()
config.showCallDuration = true
let callVC = ZegoUIKitPrebuiltCallVC.init(appID, appSign: appSign, userID: userID, userName: userName, callID: "100", config: config)
callVC.delegate = self
// 通话时长回调
func onCallTimeUpdate(_ duration: Int) {
print("onCallTimeUpdate\(duration)")
}
1
// ...
ZegoUIKitPrebuiltCallInvitationService.shared.delegate = self
// ...
extension CallInvitationVC: ZegoUIKitPrebuiltCallInvitationServiceDelegate {
//MARK: -ZegoUIKitPrebuiltCallInvitationServiceDelegate
func requireConfig(_ data: ZegoCallInvitationData) -> ZegoUIKitPrebuiltCallConfig {
// ...
config.showCallDuration = true
return config
}
// 通话时长回调
func onCallTimeUpdate(_ duration: Int) {
print("onCallTimeUpdate\(duration)")
}
}
1