> For the complete documentation index, see [llms.txt](https://polyv.gitbook.io/document/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://polyv.gitbook.io/document/docs/vod/js/video-player/function/quiz.md).

# 问答弹题

问答弹题功能是指在视频播放的指定时间点弹出问答题目，适合在教学、培训类视频中使用。使用问答功能，既可以增加学生与内容的互动，有利于教学质量的提升，又可以评估学生的学习效果和课件内容的质量。由于必须提交答案后才会继续播放视频，所以问答功能还可以有效防止挂机播放视频的情况。

![wenda](/files/SlLT6ljEUMuyWDRVx3yH) 保利威云点播平台支持通过以下两种方式来实现问答弹题功能：

### 方式一：通过点播管理后台设置

1. 登录云点播管理后台，点击 **【视频列表】** → 选择视频→ 右边栏【添加问答】，进入问答设置页面。
2. 在问答设置弹窗中设置问答题目： ![image-20210126143725270](/files/fKgCEryWxpLrDsw7CTg7)

管理后台设置问答题目后，在视频播放到指定时间点时，播放器会弹窗显示问答题目，学员需要提交答案后才能继续观看视频。

### 方式二：通过播放器接口实现

如果您的业务场景需要更加灵活的控制方式，或者题库在自身的业务系统，还可以通过播放器提供的问答接口来实现。

#### 问答相关的播放器接口

| 名称             | 参数及类型          | 说明             |
| -------------- | -------------- | -------------- |
| sendQuestion   | (Array)        | 设置视频关联的问答题目    |
| changeQuestion | （Number,Array） | 替换指定时间点对应的问答题目 |

#### 事件：

| 名称              | 说明       |
| --------------- | -------- |
| onQuestionPopUp | 问题弹出时触发  |
| onQuestionSkip  | 问题被跳过时触发 |
| onAnswerResult  | 提交答案后触发  |

#### 使用方式

在播放器初始化后，可以通过sendQuestion接口设置本次视频播放过程中需要显示的问答题目。通过监听问答相关事件，可以进行自身业务的处理。changeQuestion用于修改指定时间点需要显示的问答题目，比如，答错回退后，再次弹题时显示不同的问题。

代码示例如下：

```javascript
<div id="player"> </div> 
<script src="//player.polyv.net/resp/vod-player/latest/player.js"></script> 
<script>
  var player = polyvPlayer({
    wrap: '#player',
    width: 800,
    height: 533,
    vid: '88083abbf5bcf1356e05d39666be527a_8',
});
player.on('s2j_onPlayerInitOver',
function(e) {
    var question1 = [{
        "examId": "1699e49ffeb",
        "question": "第1个问题:1 x 2 = ?",
        "choices": [{
            "answer": "1"
        },
        {
            "answer": "2",
            "right_answer": 1
        },
        {
            "answer": "3"
        },
        {
            "answer": "4"
        }],
        "answer": "",
        "wrongAnswer": "",
        "skip": true,
        "wrongTime": 5,
        "showTime": 10
    }];
    player.sendQuestion(question1);
});
window.onQuestionSkip = function(data, vid) {
    console.log('onQuestionSkip', data, vid);
}
window.onQuestionPopUp = function(data, vid) {
    console.log('onQuestionPopUp', data, vid);
}
window.onAnswerResult = function(isRight, data, msg, seekTime, vid) {
    console.log('onAnswerResult',isRight, data, msg, seekTime, vid);
    if (!isRight) {
        var question2 = [{
            "examId": "1699e49ffef",
            "question": "第2个问题:2 x 2 = ?",
            "choices": [{
                "answer": "1"
            },
            {
                "answer": "2"
            },
            {
                "answer": "3"
            },
            {
                "answer": "4",
                "right_answer": 1
            }],
            "answer": "",
            "wrongAnswer": "",
            "skip": true,
            "wrongTime": 5,
            "showTime": 10
        }];
        player.changeQuestion(10, question2);
    }
}
</script>
```

#### 参数说明

| 参数名称          | 是否必填 | 默认值  | 描述                                                                                                                                                                                                                      |
| ------------- | ---- | ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| examId        | 否    | -    | 生成规则：Long.toHexString(System.currentTimeMillis())，11位的字符串，比如：1699e49ffeb，传值后可通过[答题记录查询接口](https://git.polyv.net/help-center/document-center/-/blob/master/vod/api/video_management/quiz/get_quiz_result/README.md)查询记录。 |
| showTime      | 否    | -    | 题目出现时间，单位：秒                                                                                                                                                                                                             |
| question      | 是    | -    | 题目                                                                                                                                                                                                                      |
| choices       | 是    | -    | 选项                                                                                                                                                                                                                      |
| right\_answer | 是    | -    | 正确答案                                                                                                                                                                                                                    |
| answer        | 否    | -    | 回答正确后的解答                                                                                                                                                                                                                |
| wrongAnswer   | 否    | -    | 回答错误后的解答                                                                                                                                                                                                                |
| wrongTime     | 否    | -1   | 回答错误后退回第几秒，-1代表不回退                                                                                                                                                                                                      |
| skip          | 否    | true | 能否跳过题目继续播放视频                                                                                                                                                                                                            |
| illustration  | 否    | -    | 问答图片的URL                                                                                                                                                                                                                |
