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

news/2024/6/3 8:59:23/文章来源:https://blog.csdn.net/sinat_33049251/article/details/131792588

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

新增或修改视频问答

酷播云视频问答功能

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

酷播云视频问答功能

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

酷播云视频问答功能

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

单元测试

    @Testpublic 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查询单个视频的问答题目

    @Testpublic 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.luyixian.cn/news_show_521134.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

尚硅谷大数据Flink1.17实战教程-笔记03【Flink运行时架构】

尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】视频地址&#xff1a;尚硅谷大数据Flink1.17实战教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据Flink1.17实战教程-笔记01【Flink概述、Flink快速上手】尚硅谷大数据Flink1.17实战教程-笔记02【Flink部署】尚硅谷…

实验室LIMS系统检测工作流程

LIMS系统检测工作流程 检测工作流程是LIMS核心内容&#xff0c;通过检测工作管理可加强协同工作能力、进一步强化质量控制环节、提高数据报出速度&#xff0c;提高工作效率、减低数据出错率&#xff0c;保证质量记录的完整、监控规范的执行&#xff1b;检测流程以样品检测为主…

软件设计师(四)操作系统知识

一、操作系统概述 计算机软件分为&#xff1a;系统软件和应用软件。 系统软件&#xff1a;是计算机系统的一部分&#xff0c;用来支持应用软件的运行。 应用软件&#xff1a;是指计算机用户利用计算机的软件、硬件资源为某一专门的应用目的而开发的软件。 1、操作系统的基本概…

js代码的执行原理

目录 ECMAJavaScript版本说明浏览器内核WebCoreJavaScriptCore V8引擎执行原理ParseIgnitionTurboFanDeoptimization 执行上下文GO对象FO对象VO对象AO对象作用域提升作用域和作用域链演示初始化开始执行全局代码执行函数 ECMAJavaScript版本说明 在不同的ECMAJavaScript版本中…

OpenVas扫描器更新扫描引擎

OPenvas扫描器安装时step1 是交换指导升级&#xff08;nvt&#xff0c;cert&#xff0c;scap&#xff09;&#xff0c;这次升级后是自动升级24h升级一次&#xff0c;但第一次升级时选择默认的rsync升级时会出现同步失败的问题&#xff0c;导致openvas安装完后有很大模块和规则不…

js 实现导入导出功能(FileSave.js)

点击导出按钮弹出文件框导出文件&#xff0c;点击导入选择文件获取文件数据&#xff0c;以下我保存的是json。 html&#xff1a; <div class"layui-inline"> <div class"layui-btn-group"><button type"button" class"la…

【js实现语言国际化】使用json配置文件实现

需求&#xff1a;使用js让项目实现中文简体、繁体跟英文的切换&#xff0c;实现语言国际化 首先准备三种json配置文件&#xff1a; en.json {"textOne": "Today is Monday","textTwo": "Tomorrow is Tuesday","textThree"…

还在使用冒泡排序遍历数组?No No No 库函数qsort帮你搞定所有排序还不快学起来!

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《快速入门C语言》《C语言初阶篇》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 前言&#x1f4ac; 库函数qsort的介绍&#x1f4ac; 库函数qsort的参数介绍&#x1f4ad; 参数一 (void* base)…

数据结构01-线性结构-链表栈队列-栈篇

文章目录 参考&#xff1a;总结大纲要求线性结构-栈回文匹配小猫钓鱼的故事 参考&#xff1a; 线性结构-栈 总结 本系列为C数据结构系列&#xff0c;会介绍 线性结构&#xff0c;简单树&#xff0c;特殊树&#xff0c;简单图等。本文为线性结构部分。 大纲要求 线性结构 【…

币安API接入-一键划转现货账户和资金账户的某个币种的所有资金

目录 1、币安API接入资料2、文档部分专业词汇摘录3、编码实践1、首先&#xff0c;使用不需要鉴权&#xff0c;也不需要代理的API&#xff1a;如&#xff1a;测试服务连通性&#xff0c;返回服务时间2、使用查询类的API&#xff0c;需要鉴权代理3、提币API&#xff08;重点&…

新增进程管理、SSH会话管理功能,1Panel开源面板v1.4.0发布

2023年7月17日&#xff0c;现代化、开源的Linux服务器运维管理面板1Panel正式发布v1.4.0版本。 在这个版本中&#xff0c;1Panel新增了进程管理和SSH会话管理功能&#xff1b;支持容器编辑和升级&#xff0c;数据库兼容MySQL 5.6&#xff1b;备份账号可以添加微软OneDrive&…

2023牛客暑期多校训练营1(D/H/J/K)

目录 D.Chocolate H.Matches J.Roulette K.Subdivision D.Chocolate 思路&#xff1a;当n1且m1时候先手必输&#xff0c;然后1*k&#xff08;k>2&#xff09;的情况下后手必输&#xff0c;因为先手可以选到只剩下一个格子。而在其它情况里先手第一步可以先选(1,1)的格子…

远程办公保持高效的15个小技巧

远程办公提供了在固定办公可能无法体验到的多种自由。灵活的时间安排&#xff0c;只要你完成当天的工作&#xff0c;其它时间你可以任意安排。没有通勤压力&#xff0c;不用挤公交或地铁&#xff0c;省了交通费&#xff0c;还有让你睡个懒觉&#xff0c;有时间做更健康的早餐&a…

代码随想录算法训练营之JAVA|第六天| 454. 四数相加 II

今天是第6天刷leetcode&#xff0c;立个flag&#xff0c;打卡60天。 算法挑战链接 454. 四数相加 IIhttps://leetcode.cn/problems/4sum-ii/ 第一想法 理解题目&#xff1a;找到四个数相加等于0 ——> 找到两个互为相反的数 理解完题目之后&#xff0c;那么我们要做的就…

(学习笔记-TCP连接建立)TCP 为什么是三次握手?不是两次、四次?

常规回答&#xff1a;“因为三次握手才能保证双方具有接收和发送的能力” 原因一&#xff1a;避免历史连接 三次握手的首要原因是为了防止旧的重复连接初始化造成混乱。 假设&#xff1a;客户端先发送了SYN(seq90)报文&#xff0c;然后客户端宕机了&#xff0c;而且这个SYN报…

高时空分辨率、高精度一体化预测技术之风、光、水能源自动化预测技术

能源是国民经济发展和人民生活必须的重要物质基础。在过去的200多年里&#xff0c;建立在煤炭、石油、天然气等化石燃料基础上的能源体系极大的推动了人类社会的发展。但是人类在使用化石燃料的同时&#xff0c;也带来了严重的环境污染和生态系统破坏。近年来&#xff0c;世界各…

前端 | (五)CSS三大特性及常用属性 | 尚硅谷前端html+css零基础教程2023最新

学习来源&#xff1a;尚硅谷前端htmlcss零基础教程&#xff0c;2023最新前端开发html5css3视频 文章目录 &#x1f4da;CSS三大属性&#x1f407;层叠性&#x1f407;继承性&#x1f407;优先级 &#x1f4da;CSS常用属性&#x1f407;像素的概念&#x1f407;颜色的表示⭐️表…

【分布式训练】基于Pytorch的分布式数据并行训练

基于Pytorch的分布式数据并行训练 动机为什么要并行分布数据&#xff1f;现有资料的不足 Outline整体框架图带解释的最小demo示例没有multiprocessing开启multiprocessing 分布式训练启动方式混合精度训练&#xff08;采用apex&#xff09; 参考资料 简介&#xff1a; 在PyTorc…

Spark 4:Spark Core 共享变量

广播变量 # coding:utf8 import timefrom pyspark import SparkConf, SparkContext from pyspark.storagelevel import StorageLevelif __name__ __main__:conf SparkConf().setAppName("test").setMaster("local[*]")sc SparkContext(confconf)stu_inf…

改善压降过大的六种方法

改善压降过大的六种方法 当进行完压降仿真完之后,如果结果都是PASS的话是我们最希望看到的,但是时常会因为某些原因,导致压降不通过,下面介绍几种弥补压降的几种措施 方法一 靠近用电端 如下图,电源放的离用电端太远将电源模块尽量靠近用电端放置,尤其是小电压大电流的电…