问题描述
如何在进行通话时监听通话的状态?我看SDK 里有个枚举,是表示 实时通话结束原因 的 。我打算在回调里用sw 做判断,检测到通话结束时,将页面dismiss回去。但是会出现 通话还未结束,页面已经回去了,但是通话还在继续。这种情况。大神帮忙看看代码有没有问题下面附 回调里的代码- (void)callSessionStatusChanged:(EMCallSession *)callSession changeReason:(EMCallStatusChangedReason)reason error:(EMError *)error{ self.seccsion = callSession; switch (reason) { case eCallReason_Null: self.label.text = @"正常挂断"; ; break; case eCallReason_Offline: self.label.text = @"对方不在线"; ; break;
解决方案
结束通话后再dismiss就好了啊
解决方案二:
应该是你reason那里判断逻辑有问题,参考demo改改代码吧。
解决方案三:
> forum.php?mod=redirect&goto=findpost&pid=2862&ptid=1274应该是你reason那里判断逻辑有问题,参考demo改改代码吧。刚又弄了一会儿,我觉得 他的这个枚举的第一个值 这里的问题吧,我把第一个屏蔽掉,然后这种问题就没有了。// case eCallReason_Null:// self.label.text = @"正常挂断";// ;// break;这个第一个枚举值 是正常挂断。正常挂断的话,应该是点击一个button 触发一个回调。我把这个pop方法放在回调里边了。