API的使用——监听的状态参数

在使用第三方开发SDK的时候,可能会用上封装好的监听器。

在官方的开发文档中可能会出现仅写出部分监听参数的响应程序的情况。这样会导致一部分会出现的状态没有相应的响应。因此,我们需要仔细查看相关的API信息,将枚举类中的参数补全。

下面用环信SDK视频通话状态监听的代码作为示例:

官方开发文档:

EMClient.getInstance().callManager().addCallStateChangeListener(new EMCallStateChangeListener() {
    @Override
    public void onCallStateChanged(CallState callState, CallError error) {
        switch (callState) {
        case CONNECTING: // 正在连接对方
            
            break;
        case CONNECTED: // 双方已经建立连接
            
            break;
 
        case ACCEPTED: // 电话接通成功
            
            break;
        case DISCONNNECTED: // 电话断了
 
            break;
        case NETWORK_UNSTABLE: //网络不稳定
            if(error == CallError.ERROR_NO_DATA){
        //无通话数据
        }else{
        }
        break;
    case NETWORK_NORMAL: //网络恢复正常
             
        break;
        default:
            break;
        }
 
    }
});

下面是另一位厉害的攻城狮建议的代码补充:

        EMClient.getInstance().callManager().addCallStateChangeListener(new EMCallStateChangeListener() {
            @Override
            public void onCallStateChanged(CallState callState, CallError error) {
                switch (callState) {
                    case IDLE: // 空闲
                        Log.i(TAG, "onCallStateChanged: 空闲");
                        break;
                    case RINGING: // 响铃
                        Log.i(TAG, "onCallStateChanged: 响铃");
                        break;
                    case ANSWERING: // 正在应答
                        Log.i(TAG, "onCallStateChanged: 正在应答");
                        break;
                    case CONNECTING: // 正在连接对方
                        Log.i(TAG, "onCallStateChanged: 正在连接对方");
                        break;
                    case CONNECTED: // 双方已经建立连接
                        Log.i(TAG, "onCallStateChanged: 双方已经建立连接");
                        break;
                    case ACCEPTED: // 电话接通成功
                        Log.i(TAG, "onCallStateChanged: 电话接通成功");
                        EMClient.getInstance().callManager().pauseVoiceTransfer();
                        break;
                    case DISCONNNECTED: // 电话断了
                        Log.i(TAG, "onCallStateChanged: 电话断了");
                        finish();
                        break;
                    case VOICE_PAUSE: // 声音暂停
                        Log.i(TAG, "onCallStateChanged: 声音暂停");
                        break;
                    case VOICE_RESUME: // 声音恢复
                        Log.i(TAG, "onCallStateChanged: 声音恢复");
                        break;
                    case VIDEO_PAUSE: // 视频暂停
                        Log.i(TAG, "onCallStateChanged: 视频暂停");
                        break;
                    case VIDEO_RESUME: // 视频恢复
                        Log.i(TAG, "onCallStateChanged: 视频恢复");
                        break;
                    case NETWORK_UNSTABLE: //网络不稳定
                        Log.i(TAG, "onCallStateChanged: 网络不稳定");
                        if (error == CallError.ERROR_NO_DATA) {
                            //无通话数据
                        } else {
                        }
                        break;
                    case NETWORK_NORMAL: //网络恢复正常
                        Log.i(TAG, "onCallStateChanged: 网络恢复正常");
                        break;
                    default:
                        break;
                }
            }
        });




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值