# SPInterfaceLibDemo **Repository Path**: dongyanggl/SPInterfaceLibDemo ## Basic Information - **Project Name**: SPInterfaceLibDemo - **Description**: No description available - **Primary Language**: Android - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2016-07-14 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #SPInterfaceLibDemo ## 接口 1. 初始化屏Plus接口 * SPInterface.init * 参数:App Context * 参数:channel,String类型,调用接口的渠道名。大麦调用接口时,此参数应传"domy" * 启动时调用一次。 * 参考代码: ``` SPInterface.init(getApplicationContext(), "domy"); ``` 2. 启动屏Plus * SPInterface.startScreenPlusService * 参数:无 * 回调:无 * 启动屏Plus时调用,通过广播启动屏Plus的弹幕Service * 不会有界面出现 * 多次调用不会有影响 * 参考代码: ``` SPInterface.startScreenPlusService(); ``` 3. 停止屏Plus * SPInterface.stopScreenPlusService * 参数:CmdCallBack,回调类,当命令执行完成时会调用相应的结果 * 回调:见下文 CmdCallBack 的介绍 * 停止屏Plus时调用,通过接口通知屏Plus退出 * 会退出整个App * 参考代码: ``` SPInterface.stopScreenPlusService(new CmdCallBackImpl()); ``` 4. 禁用弹幕 * SPInterface.disableDanmaku * 参数:CmdCallBack,回调类,当命令执行完成时会调用相应的结果 * 回调:见下文 CmdCallBack 的介绍 * 注意此方法与 enableDanmaku 是一对,优先级比 showDanmaku 高。 * 参考代码: ``` SPInterface.disableDanmaku(new CmdCallBackImpl()); ``` 5. 开启弹幕 * SPInterface.enableDanmaku * 参数:CmdCallBack,回调类,当命令执行完成时会调用相应的结果 * 回调:见下文 CmdCallBack 的介绍 * 参考代码: ``` SPInterface.enableDanmaku(new CmdCallBackImpl()); ``` 6. 显示弹幕 * SPInterface.showDanmaku * 参数:CmdCallBack,回调类,当命令执行完成时会调用相应的结果 * 回调:见下文 CmdCallBack 的介绍 * 在开启弹幕的前提下,设置弹幕显示的接口。同手机端的显示弹幕 * 参考代码: ``` SPInterface.showDanmaku(new CmdCallBackImpl()); ``` 7. 隐藏弹幕 * SPInterface.hideDanmaku * 参数:CmdCallBack,回调类,当命令执行完成时会调用相应的结果 * 回调:见下文 CmdCallBack 的介绍 * 在开启弹幕的前提下,设置弹幕隐藏的接口。同手机端的隐藏弹幕 * 回调:见下文 CmdCallBack 的介绍 ``` SPInterface.hideDanmaku(new CmdCallBackImpl()); ``` 8. 显示魔法表情 * SPInterface.showMagic * 参数:CmdCallBack,回调类,当命令执行完成时会调用相应的结果 * 回调:见下文 CmdCallBack 的介绍 * 在开启弹幕的前提下,设置魔法表情显示的接口。同手机端的显示魔法表情 * 回调:见下文 CmdCallBack 的介绍 ``` SPInterface.showMagic(new CmdCallBackImpl()); ``` 9. 隐藏魔法表情 * SPInterface.hideMagic * 参数:CmdCallBack,回调类,当命令执行完成时会调用相应的结果 * 回调:见下文 CmdCallBack 的介绍 * 在开启弹幕的前提下,设置魔法表情隐藏的接口。同手机端的隐藏魔法表情 * 回调:见下文 CmdCallBack 的介绍 ``` SPInterface.hideMagic(new CmdCallBackImpl()); ``` 10. 切换频道,即切换到对应的聊天室 * SPInterface.changeChatRoom * 参数:CmdCallBack,回调类,当命令执行完成时会调用相应的结果 * 回调:见下文 CmdCallBack 的介绍 * 当调用此方法后,手机端则不再支持切换聊天室,直到调用 stopScreenPlusService * 回调:见下文 CmdCallBack 的介绍 ``` SPInterface.changeChatRoom("cctv5",new CmdCallBackImpl()); ``` 11. 获取设置的参数 * SPInterface.getInfo * 参数:InfoCallBack,回调类,当命令执行完成时会调用相应的结果 * 回调:见下文 InfoCallBack 的介绍 * 对应的参数通过回调返回 ``` SPInterface.getInfo(new InfoCallBackImpl()); ``` 11. 设置当前视频的时间 * SPInterface.setVideoTime * 参数:videoId:视频ID,String 类型 * time:视频已经播放的时间(秒),long 类型 * 回调:见下文 InfoCallBack 的介绍 * 对应的参数通过回调返回 ``` SPInterface.setVideoTime("video_id", 100, new InfoCallBackImpl()); ``` 12. 设置当前视频的ID * SPInterface.changeVideoId * 参数:videoId:视频ID,String 类型 * 回调:见下文 InfoCallBack 的介绍 * 对应的参数通过回调返回 ``` SPInterface.changeVideoId("video_id", new InfoCallBackImpl()); ``` 12. CmdCallBack ``` /** * 执行完成的回调方法 * * @param result * true - 执行成功,false - 执行失败 * @param code * 执行失败时,这里错误代码 * @param message * 返回结果,json格式,不同的命令,返回结果可能不同 */ public abstract void onComplete(boolean result, String code, String message); /** * 超时 */ public abstract void onTimeout(); /** * 发生错误 * * @param code * @param message */ public abstract void onError(String code, String message); /** * 取消,尚未实现 */ public abstract void onCancel(); ``` 13. InfoCallBack 继承 CmdCallBack,增加以下回调方法 ``` /** * * @param result * 执行结果, true - 执行成功, false - 执行失败 * @param code * 执行失败时,这里是错误代码,正确时请忽略 * @param enableDanmaku * 是否启用弹幕 * @param showDanmaku * 是否显示弹幕 * @param showMagic * 是否显示魔法表情 * @param danmakuSizeScale * 弹幕字体比例 0.5 - 2 * @param danmakuTransparency * 浮点,取值范围 0 - 1 * @param channelId * 频道ID */ public abstract void onComplete(boolean result, String code, boolean enableDanmaku, boolean showDanmaku, boolean showMagic, float danmakuSizeScale, float danmakuTransparency, String channelId); ``` ##依赖的 Jar 包 1. spinterface-sdk-public.jar * ScreePlus interface lib 2. Java-WebSocket-1.2.0-leancloud.jar * 如果运行是提示 java.lang.NoClassDefFoundError: tv.screenplus.websocket.MFWebSocket,则需要此jar包 * 一般使用 API Level 22以后需要此包 ##屏Plus 请使用 ScreenPlus_release 文件夹中最新的版本,进行测试。 ##弹弹体育 请使用 DDTV_release 文件夹中最新的版本,进行测试。