看知识库里面的工单,融云的人说用
RongCallClient.getInstance().getCallSession()
上面这个可以判断是否通话中,嗯,先当他说的是正确的

后来发现,只是判断null 不 null
这样的并不严谨,有时候很快的挂断通话或者对方没有接通直接挂断通话,RongCallClient.getInstance().getCallSession()这个是不为空的,

其实我的需求是,如果有通话中的会话,当点击音视频通话的入口或者正处于悬浮音视频通话时,就给出适当的提示,先让其关闭现有的才能再做相应的操作。

第一波测试:正常通话几秒钟,正常挂断,可以用getCallSession判断



 

第二波测试:A拨打B,之后A很快挂断, 此时 getCallSession 是不为空的

第三波测试:A拨打B,之后B直接挂断A,此时getCallSession是不为空的



 

第四波测试:A拨打B,正常通话,A点击缩小窗口通话,此时getCallSession不为空,这个是正常的



 

经过比对分析:activeTime这个字段,正常在通话中的时候是不为0,挂断通话的时候的是为0的

于是,判断是否真正通话中的做法是
if (RongCallClient.getInstance().getCallSession() != null &&
RongCallClient.getInstance().getCallSession().getActiveTime() != 0) { }
 

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信