视频弹题、视频答题来实现视频防录屏和防挂机

视频弹题、视频答题来实现视频防录屏和防挂机

1.视频播放到某个时间点,弹出问题卡,学员只有正确回答课件视频中弹出的问题之后才能继续观看视频。
2.通过互动问答的方式,不仅有利于巩固前边学习的知识点,评估学员的学习效果,也有效避免学员挂机的现象。
3.问答播放器还能起到一定的防录屏作用,大大降低盗版视频的观看体验。

实际效果参考:

视频弹题、视频答题来实现视频防录屏和防挂机_第1张图片

图3:视频问答功能(观看效果)

视频弹题、视频答题来实现视频防录屏和防挂机_第2张图片

图4:视频问答功能(观看效果)

视频弹题、视频答题来实现视频防录屏和防挂机_第3张图片

图5:视频问答功能(观看效果)

HTML5代码调用实例

 注:如果希望每次刷新都弹出问题,请添加 ban_record_interaction_right_answer:'on' 这行参数

 JAVA SDK

    @Test
    public void testCreateOrUpdateVideoExam() throws IOException, NoSuchAlgorithmException {
        VodCreateOrUpdateVideoExamRequest vodCreateOrUpdateVideoExamRequest = new VodCreateOrUpdateVideoExamRequest();
        VodCreateOrUpdateVideoExamResponse vodCreateOrUpdateVideoExamResponse = null;
        try {
            List choices = Arrays.asList(
                    new VodCreateOrUpdateVideoExamRequest.Choices(0, "萝卜", Boolean.TRUE),
                    new VodCreateOrUpdateVideoExamRequest.Choices(1, "青菜", Boolean.FALSE));
            vodCreateOrUpdateVideoExamRequest.setExamId("17982289508")
                    .setVideoId("1b448be3234406608b7838c7ef6b597c_1")
                    .setShowTime(2)
                    .setQuestion("喜欢萝卜还是青菜")
                    .setChoices(choices)
                    .setCanSkip(Boolean.FALSE)
                    .setExplanationIfRight("回答正确后的解答详情")
                    .setShowExplanationIfWrong(Boolean.TRUE)
                    .setExplanationIfWrong("回答错误后的解答详情")
                    .setBackTime(-1);
            vodCreateOrUpdateVideoExamResponse = new VodInfoServiceImpl().createOrUpdateVideoExam(
                    vodCreateOrUpdateVideoExamRequest);
            Assert.assertNotNull(vodCreateOrUpdateVideoExamResponse);
            if (vodCreateOrUpdateVideoExamResponse != null) {
                log.debug("测试新增或修改视频问答成功,{}", JSON.toJSONString(vodCreateOrUpdateVideoExamResponse));
            }
        } catch (PloyvSdkException e) {
            //参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
            log.error(e.getMessage(), e);
            // 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
            throw e;
        } catch (Exception e) {
            log.error("SDK调用异常", e);
            throw e;
        }
    }

请求入参描述

参数名 必选 类型 说明
videoId true String 视频ID【对应api文档的vid字段】
examId false String 问答ID,为空时会新增一个题目。不为空时会修改已有的问答题目
showTime true Integer 问答出现的时间,单位:秒
question true String 问答题目描述
choices true Array 问答选项json数组,每个题目最多5个选项。
canSkip false Boolean 是否可跳过,默认值:false
explanationIfRight false String 回答正确后的解答详情
showExplanationIfWrong false Boolean 回答答错误后是否显示解答详情,true:显示;false:不显示;默认为true显示
explanationIfWrong false String 回答错误后的解答详情
backTime false Integer 答错后回退到第几秒,-1代表不回退,默认为-1

 Choices参数描述

参数名 类型 说明
index Integer 选项序号,题目实际顺序为按此值的大小排序,不要重复
content String 选项内容
isRight Boolean 所有选项中必须至少有一个设置为正确答案,否则接口返回错误。

 返回对象描述

参数名 类型 说明
examId String 问答ID

   我的文章推荐:

  • [视频+图文] 线上研讨会是什么,企业对内对外培训可以用线上研讨会吗?
  • [图文] 企业直播对网络带宽有什么要求?
  • [图文]OBS如何实现毫秒级超低延时直播
  • 直播播放器API(播放器调用方法、参数、接口和事件)
  • 企业内训课程视频加密防下载是如何做的?10种思路
  • 超低延迟/无延迟直播(PRTC Web SDK移动端)兼容性说明

你可能感兴趣的:(JAVA,SDK,点播WebSDK,视频弹题功能,视频答题)