在一个通话中,某个用户可能多次加入和离开 RTC 频道,该用户累计在频道内的时间为该用户的通话时长。通过 Agora RTC SDK 或水晶球,你可以获取用户的通话时长。
正常情况下,用户成功加入 RTC 频道后会触发 onRtcStats
回调,用户离开频道前收到的最后一次 onRtcStats
回调中的 totalDuration
参数即为该用户的通话时长。如果用户在通话中多次进出频道,你需要累计多个 totalDuration
值算出用户的通话时长。
如果遇到断线等异常情况,通过 Agora RTC SDK 获取的通话时长可能不准确。你需要通过 Agora RTM SDK 或自己的信令系统开启心跳检测机制,从而获取客户端和服务端断开连接的时长。在 Agora RTC SDK 获取的通话时长中减去客户端断开连接的时长,即为该用户准确的通话时长。
你可以通过水晶球通话调查界面,查看用户在频道内时间,即该用户的通话时长。详见通话调查。