【Android】集成乐播SDK实现投屏功能(三)监听事件

2022-03-30  本文已影响0人  鲨鲨指挥官

设置搜索监听

LelinkSourceSDK.getInstance().setBrowseResultListener(iBrowseListener);
private IBrowseListener browserListener = new IBrowseListener() {
     @Override
     public void onBrowse(int resultCode, List<LelinkServiceInfo> list) {
     
     }
};

ResultCode参数说明

参数 说明
IBrowseListener.BROWSE_TIMEOUT 搜索超时, 可能由于网络原因而出现, 请检查网络环境
IBrowseListener.BROWSE_STOP 当调用 stopBrowse 时返回
IBrowseListener.BROWSE_SUCCESS 搜索成功,结果只有SUCCESS时才可用,根据搜索出来的list显示列表
IBrowseListener.BROWSE_ERROR_AUTH 搜索失败,Auth错误,请检查您的网络设置或AppId和AppSecret

设置连接监听

LelinkSourceSDK.getInstance().setConnectListener(mConnectListener);
IConnectListener mConnectListener = new IConnectListener() {
        @Override
        public void onConnect(LelinkServiceInfo lelinkServiceInfo, int connectType) {
            // 连接成功
        }
        @Override
        public void onDisconnect(LelinkServiceInfo lelinkServiceInfo, int what, int extra) {
            String text = null;
            if (what == IConnectListener.WHAT_HARASS_WAITING) {// 防骚扰,等待用户确认
                // 乐播投屏防骚扰等待消息,请开发者务必处理该消息
                text = lelinkServiceInfo.getName() + "等待用户确认";
            } else if (what == IConnectListener.WHAT_DISCONNECT) {
                switch (extra) {
                    case IConnectListener.EXTRA_HARASS_REJECT:// 防骚扰,用户拒绝投屏
                        text = lelinkServiceInfo.getName() + "连接被拒绝";
                        break;
                    case IConnectListener.EXTRA_HARASS_TIMEOUT:// 防骚扰,用户响应超时
                        text = lelinkServiceInfo.getName() + "防骚扰响应超时";
                        break;
                    case IConnectListener.EXTRA_HARASS_BLACKLIST:// 防骚扰,该用户被加入黑名单
                        text = lelinkServiceInfo.getName() + "已被加入投屏黑名单";
                        break;
                    default:
                            text = lelinkServiceInfo.getName() + "连接断开";
                        break;
                }
            } else if (what == IConnectListener.WHAT_CONNECT_FAILED) {
                  switch (extra) {
                    case IConnectListener.EXTRA_CONNECT_DEVICE_OFFLINE:
                        text = lelinkServiceInfo.getName() + "不在线";
                        break;
                    default:
                        text = lelinkServiceInfo.getName() + "连接失败";
                        break;
                }
            }
        }
    };

onConnect的connectType参数说明

参数 说明
IConnectListener.TYPE_LELINK Lelink 协议
IConnectListener.TYPE_DLNA DLNA 协议
IConnectListener.TYPE_IM 支持远程IM投屏的设备

onDisconnect的what参数说明

参数 说明
IConnectListener.WHAT_HARASS_WAITING 提示用户在电视上点击允许投屏
IConnectListener.WHAT_DISCONNECT 连接被断开,通过extra可判断具体的断开原因
IConnectListener.WHAT_CONNECT_FAILED 连接失败,通过extra可判断具体失败的原因

onDisconnect的extra参数说明

参数 说明
IConnectListener.EXTRA_HARASS_REJECT 防打扰状态下,被用户拒绝
IConnectListener.EXTRA_HARASS_TIMEOUT 防打扰状态下,用户未选择允许或拒绝,连接超时
IConnectListener.EXTRA_HARASS_BLACKLIST 防打扰状态下,用户被加入电视黑名单中
IConnectListener.EXTRA_DISCONNECT_SUCCESS 其他情况下的断开判断
IConnectListener.EXTRA_CONNECT_ERROR_IO 局域网设备网络不联通
IConnectListener.EXTRA_CONNECT_DEVICE_OFFLINE 设备离线

设置播控监听

LelinkSourceSDK.getInstance().setPlayListener(lelinkPlayerListener);
ILelinkPlayerListener playerListener = new ILelinkPlayerListener() {
        /**
        *  开始加载
        */
        @Override
        public void onLoading() {
        
        }
        /**
        * 播放开始
        */
        @Override
        public void onStart() {
        
        }
        /**
        * 暂停
        */
        @Override
        public void onPause() {
        
        }
        /**
        * 播放完成
        */
        @Override
        public void onCompletion() {
        
        }
        /**
        * 播放结束
        */
        @Override
        public void onStop() {
        
        }
        /**
        * 进度调节:单位为百分比(该接口暂无回调)
        */
        @Override
        public void onSeekComplete(int pPosition) {
        
        }
        /**
        * 保留接口
        */
        @Override
        public void onInfo(int what, int extra) {
        
        }
        /**
        * 错误回调
        */
        @Override
        public void onError(int what, int extra) {
        
        }
        /**
        * 音量变化回调(该接口暂无回调)
        */
        @Override
        public void onVolumeChanged(float percent) {
        
        }
        /**
        * 播放进度信息回调
        * @param duration 总长度:单位秒
        * @param position 当前进度:单位秒
        */
        @Override
        public void onPositionUpdate(long duration, long position) {
        
        }
};

onError的what和extra取值说明

参数 说明
ILelinkPlayerListener.PUSH_ERRROR_FILE_NOT_EXISTED 推送的本地文件不存在
ILelinkPlayerListener.PUSH_ERROR_IM_OFFLINE 远端设备不在线
ILelinkPlayerListener.PUSH_ERROR_IM_UNSUPPORTED_MIMETYPE 远端设备不支持推送的媒体类
参数 说明
ILelinkPlayerListener.PUSH_ERROR_IO 接收端无响应结果 (网络环境差的时候会回调)
ILelinkPlayerListener.PUSH_ERROR_NOT_RESPONSED 接收端无响应
ILelinkPlayerListener.NEED_SCREENCODE 需要输入投屏码
ILelinkPlayerListener.RELEVANCE_DATA_UNSUPPORTED 接收端不支持透传
参数 说明
ILelinkPlayerListener.MIRROR_ERROR_UNSUPPORTED 手机不支持镜像
ILelinkPlayerListener.MIRROR_ERROR_REJECT_PERMISSION 用户拒绝截屏授权
ILelinkPlayerListener.MIRROR_ERROR_DEVICE_UNSUPPORTED 接收端设备不支持镜像
ILelinkPlayerListener.NEED_SCREENCODE 镜像需要投屏码
ILelinkPlayerListener.MIRROR_ERROR_NEED_RETRY 请重试
ILelinkPlayerListener.MIRROR_ERROR_UNSUPPORT_GRAP 接收端不支持抢占
ILelinkPlayerListener.MIRROR_ERROR_SETUP 协议交互出错
参数 说明
ILelinkPlayerListener.MIRROR_ERROR_GET_PORT 获取镜像端口出错
ILelinkPlayerListener.GRAP_UNSUPPORTED 设备不支持抢占
ILelinkPlayerListener.MIRROR_ERROR_GET_INFO 获取接收端信息出错
ILelinkPlayerListener.NEED_SCREENCODE 需要输入投屏码
ILelinkPlayerListener.MIRROR_ERROR_PREPARE_ENCODE 编码器出错
ILelinkPlayerListener.MIRROR_ERROR_NETWORK_BROKEN 网络断开
上一篇 下一篇

猜你喜欢

热点阅读