视频问答新增或修改视频问答

news2024/10/7 18:29:36

通过问答id新增或修改视频问答题目

新增或修改视频问答

酷播云视频问答功能

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

酷播云视频问答功能

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

酷播云视频问答功能

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

单元测试

    @Test
    public void testCreateOrUpdateVideoExam() throws IOException, NoSuchAlgorithmException {
        VodCreateOrUpdateVideoExamRequest vodCreateOrUpdateVideoExamRequest = new VodCreateOrUpdateVideoExamRequest();
        VodCreateOrUpdateVideoExamResponse vodCreateOrUpdateVideoExamResponse = null;
        try {
            List<VodCreateOrUpdateVideoExamRequest.Choices> 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;
        }
    }

单元测试说明

1、请求正确,返回VodCreateOrUpdateVideoExamResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.VodxxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名必选类型说明
videoIdtrueString视频ID【对应api文档的vid字段】
examIdfalseString问答ID,为空时会新增一个题目。不为空时会修改已有的问答题目
showTimetrueInteger问答出现的时间,单位:秒
questiontrueString问答题目描述
choicestrueArray问答选项json数组,每个题目最多5个选项。【详见Choices参数描述】
canSkipfalseBoolean是否可跳过,默认值:false
explanationIfRightfalseString回答正确后的解答详情
showExplanationIfWrongfalseBoolean回答答错误后是否显示解答详情,true:显示;false:不显示;默认为true显示
explanationIfWrongfalseString回答错误后的解答详情
backTimefalseInteger答错后回退到第几秒,-1代表不回退,默认为-1

 Choices参数描述

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

 返回对象描述

参数名类型说明
examIdString问答ID

查询单个视频的问答题目 

通过视频id查询单个视频的问答题目

    @Test
    public void testGetVideoExam() throws IOException, NoSuchAlgorithmException {
        VodQueryVideoExamRequest vodQueryVideoExamRequest = new VodQueryVideoExamRequest();
        VodQueryVideoExamResponse vodQueryVideoExamResponse = null;
        try {
            vodQueryVideoExamRequest.setVideoId("1b448be3234406608b7838c7ef6b597c_1");
            vodQueryVideoExamResponse = new VodInfoServiceImpl().queryVideoExam(vodQueryVideoExamRequest);
            Assert.assertNotNull(vodQueryVideoExamResponse);
            if (vodQueryVideoExamResponse != null) {
                log.debug("测试查询单个视频的问答题目成功,{}", JSON.toJSONString(vodQueryVideoExamResponse));
            }
        } 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;
        }
    }

单元测试说明
1、请求正确,返回VodQueryVideoExamResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.VodxxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

  我的文章推荐:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/766585.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux下九个实用脚本

目录 1.批量创建用户并设置密码脚本 2.查看网卡实时流量脚本 3.nginx访问日志脚本 4.dos防范攻击&#xff08;自动屏蔽攻击脚本&#xff09; 5.监控多台服务器磁盘利用率脚本 6.监控MySQL主从同步异常脚本 7.批量检查网站异常脚本 8.查看服务器资源利用率脚本 9.查找占…

高效出报表的工具有哪些?奥威BI报表工具怎样?

随着企业精细化数据分析的展开&#xff0c;数据分析报表的制作压力也随之增加。对企业而言&#xff0c;拥有一个高效出报表的工具十分重要。高效出报表的工具有哪些&#xff1f;奥威BI报表工具的效率够不够高&#xff1f; 高效出报表的工具有很多&#xff0c;奥威BI报表工具就…

java多线程之并发容器集合

一、多线程操作容器存在的问题 如下代码 public class NotSafeDemo {public static void main(String[] args) {List list new ArrayList();for (int i 0; i < 100; i) {new Thread(() -> {list.add(UUID.randomUUID().toString());System.out.println(list);}, &quo…

Vue导入Echarts实现散点图 axios解析excel流数据 echarts数据可视化前端展示

为实现从本地服务器下载xlsx文件至前端vue echarts中展示&#xff0c;踩过许多坑&#xff0c;现将完整流程和源码分享。 1、 vue axios get请求 返回304 Not Modified 不更新数据 原因&#xff1a;由于浏览器缓存了get请求&#xff0c;导致不管如何刷新&#xff0c;数据都不更…

Echarts:柱状图的第一个柱子超出了y轴

问题 使用Echarts绘制柱状图的时候&#xff0c;第一个柱子超出了y轴&#xff1a; 解决 boundaryGap 此属性与坐标轴两端空白有关。默认值为true即留空&#xff0c;false则表示柱子顶头,而出现上述现象,是因为代码中参数 boundaryGap设置为了false 将boundaryGap的值改为tru…

sadtalker-- 本地生成数字人

文章目录 概要工具讲解安装流程1. 安装Python2. 安装FFmpeg3. 安装Sadtalker4. 导入模型 使用流程1. 生成语音2. 上传图片跟语音3. 点击生成&#xff0c;漫长等待4. 虚拟内存 小结 概要 sadtalker&#xff0c;可以根据图片以及语音&#xff0c;生成动态视频&#xff0c;跟现在…

怎么将拼接的字符串element组件通过“v-html“渲染到页面

如上图所示&#xff0c;没那么多废话&#xff0c;直接上代码 html中 <div id"app"><div :html"tempHtml"></div> </div>vue中 new Vue({el: #app,data() {return {tempHtml: }},created() {this.getHtml()},mounted() {window.…

Java学到什么程度可以在当下面试找工作?

今年的面试主打一个字&#xff1a;卷&#xff01; 随着经济环境下行&#xff0c;大厂降本增效、筛除了一部分冗余岗位&#xff0c;原本荒蛮的IT行业发展正在逐步进入正轨中。虽说今年就业环境不容乐观&#xff0c;但数据不会骗人&#xff0c;以Java为例&#xff0c;在职友集上…

gd32f103vbt6 串口OTA升级3-linux端的部分

一. 简介 本文主要是对linux端升级单片机程序的功能部分做一些介绍&#xff0c;包括一些软件流程。 二.硬件部分 2.1 rk3399cpugd32f103 2.2 连接方式&#xff1a;串口&#xff08;115200&#xff0c;8N1&#xff09;或者iic&#xff08;本文没有介绍iic&#xff09; 三、其…

[nlp] GPT

一、联合训练任务 1.1 NTP(Next Token Prediction) gpt预训练的一个目标函数有两个,第一个是基础的下一个词预测任务,选择一个K窗口,将窗口中的K个词的embedding作为条件去预测下一个词。 1.2 TC(Text Classification) 第二个是一个分类任务,一段话给一个标签,然后去预…

Qt 获得QTableview所选中的行的某一列数据

1、点击QtableView控件-》右键-》跳到槽-》选择 2、编写槽函数信息 void XXX::on_tableView_CalTable_clicked(const QModelIndex &index) {int rowindex.row();//获得当前行索引int colindex.column();//获得当前列索引QModelIndex index1 CalViewModel->index(row,2)…

开鸿智谷与华秋达成生态共创合作,共同打造OpenHarmony硬件生态

7月11日&#xff0c;在2023慕尼黑上海电子展现场&#xff0c;开鸿智谷数字产业发展有限公司(以下简称“开鸿智谷”)与深圳华秋电子有限公司(以下简称“华秋”)签署了生态共创战略合作协议&#xff0c;共同推动开源鸿蒙OpenAtom OpenHarmony(以下简称“OpenHarmony”)硬件生态繁…

在线图片处理工具:让您的图片处理更加轻松

在我们日常生活和工作中&#xff0c;图片已经成为了一种非常常见的媒介。然而&#xff0c;有时候我们会遇到一些问题&#xff0c;例如图片过大不能上传或下载等等。在这种情况下&#xff0c;我们需要一个功能强大的图片处理工具&#xff0c;来解决这些问题。今天&#xff0c;我…

Visual Studio 向工程中添加现有文件夹

前言&#xff1a; 在创建C#类库&#xff08;dll&#xff09;工程后&#xff0c;需要把现有的C#文件添加进工程中 步骤1.将所有文件夹复制到工程中 步骤2. 点击这个图标&#xff0c;显示所有文件夹 工程目录下的所有文件夹都会被显示出来 选中需要添加的文件夹&#xff0c;右…

Ceph 应用(CephFS文件存储、块存储、对象存储)

目录 一&#xff1a;创建 CephFS 文件系统 MDS 接口 1、服务端操作 &#xff08;1&#xff09;在管理节点创建 mds 服务 &#xff08;2&#xff09;查看各个节点的 mds 服务 &#xff08;3&#xff09;创建存储池&#xff0c;启用 ceph 文件系统 &#xff08;4&#xff09;…

C#(六十二)之泛型的约束

类型约束 基类约束有两个重要的目的。 1&#xff1a;它允许在泛型类中使用有约束指定的基类成员。 2&#xff1a;确保只能使用支持指定基类或派生类的类型实例。 约束是使用 where 上下文关键字指定的。 下表列出了五种类型的约束&#xff1a; 约束 说明 T&#xff1a;str…

C++初阶 - 2.类和对象(上)

目录 1.面向过程和面向对象初步认识 2.类的引入 3.类的定义 4.类的访问限定符及封装 4.1 访问限定符 4.2 封装 5.类的作用域 6. 类的实例化 7.类对象模型 7.1 如何计算类对象的大小 7.2 类对象的存储方式猜测 7.3 结构体内存对齐规则 8. this指针 8.1 this指针的…

网络--练习错题笔记

1、SNMP是简单网络管理协议&#xff0c;与邮件发送无关 发送邮件&#xff1a;SMTP协议&#xff0c;简单邮件管理协议 用户发送邮件是利用SMTP协议将编辑好的邮件送往发送端的邮件服务器 2、mac地址前24位是厂商编号 来自IEEE&#xff0c;后24位来自厂商&#xff0c;区别每一个…

5.0蓝牙模块助力车联网实现简便、安全连接-车载蓝牙模块SKB501参考设计

车载电子系统正向智能化、信息化和网络化方向发展&#xff0c;无线通信技术在汽车等移动系统中有着广泛的应用前景。车联网通过蓝牙技术可以实现与各种设备进行无缝、快速的连接&#xff0c;针对这部分应用需求&#xff0c;SKYLAB研发推出的5.0蓝牙模块SKB501&#xff0c;该模块…

Linux调试器------gdb的使用【Linux系统编程】

目录 背景&#xff1a; 指令&#xff1a; 背景&#xff1a; &#xff08;1&#xff09;debug和release&#xff1a;debug可以调试&#xff08;形成可执行程序时会有调试信息&#xff09;&#xff0c;release不可以。Linux下默认是release版本。如果要以debug版本发布&#…