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

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

作者: 鲨鲨指挥官 | 来源:发表于2022-03-30 14:13 被阅读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_ERROR_INIT:推送初始化错误
    参数 说明
    ILelinkPlayerListener.PUSH_ERRROR_FILE_NOT_EXISTED 推送的本地文件不存在
    ILelinkPlayerListener.PUSH_ERROR_IM_OFFLINE 远端设备不在线
    ILelinkPlayerListener.PUSH_ERROR_IM_UNSUPPORTED_MIMETYPE 远端设备不支持推送的媒体类
    • ILelinkPlayerListener.PUSH_ERROR_PLAY:推送播放错误
    参数 说明
    ILelinkPlayerListener.PUSH_ERROR_IO 接收端无响应结果 (网络环境差的时候会回调)
    ILelinkPlayerListener.PUSH_ERROR_NOT_RESPONSED 接收端无响应
    ILelinkPlayerListener.NEED_SCREENCODE 需要输入投屏码
    ILelinkPlayerListener.RELEVANCE_DATA_UNSUPPORTED 接收端不支持透传
    • ILelinkPlayerListener.MIRROR_ERROR_INIT:镜像初始化错误
    参数 说明
    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_PREPARE:镜像准备错误

    • ILelinkPlayerListener.MIRROR_ERROR_CODEC :镜像编码错误

    参数 说明
    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 网络断开
    • ILelinkPlayerListener.MIRROR_ERROR_CODEC:镜像编码错误

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/mtavjrtx.html