00:01
各位同学大家好,下面呢,咱们继续来实现点播课程的经文功能,刚才我们实现了点播课程的列表功能,包括详情功能,那下面呢,咱来实现点播课程的视频播放功能,大家看啊,我现在在这里边,比如说我点击某个章节,然后在里边是不是有小节,小节中咱之前是不是上传过视频,而我现在点观看,那就把这个视频进行播放,所以咱们下面来完成里边这个点播视频的播放功能,咱们看该怎么做。这个过程中我们强调啊,首先咱们还是看一下腾讯云里边内容,咱之前说到了,在腾讯云里边,我这位置可以上传这个视频啊,这个啊我应该过期了,我重新登录一下啊,咱们看一下之前咱们讲到了过这个内容。我们再来重复一遍,我现在啊把腾讯云先完成登录。
01:02
这个咱们先登录进去,然后登录之后大家看啊,这里边有我之前上传的视频,然后咱们点击管理,在管理里边这个位置有一个叫超级播放器预览,在这里边大家看啊,这个位置有它的预览界面,下面有端代码,而咱们整合就是播放器播放的代码,其实就是写这个。在这里边完成播放。然后播放中大家看啊,里面就引入了一些CSS,包括JS文件。然后你看这位置最核心的,咱们在里边就是传入两个值,第一个值是什么呢?就是你上传视频的ID,第二个是当前你的应用ID,就这个ID,我当应用这个ID,然后我这个视频ID是这个值,所以把两只传进去,在整合代码就能完成视频的播放,所以咱下面就来做这内容,这内容中呢,咱们做两部分,首先写接口,接口中就返回两个值,一个是视频ID,一个是你当前应用ID。视频ID咱之前上传的时候应该存到数据库中,所以咱们取到这个ID,然后最终传到页面中进行播放,所以咱下面开始解这个代码。
02:21
首先我先编写接口。这个接口呢,咱们在vod里边呢,我再重新建个controller,咱们起个名字就叫vod片controller,我在里边做一个创建,先完成视频播放这个接口,然后传入两个值,一个视频ID,一个你当前应用的ID,这是CTRL部分,写完之后把路径我跟课件中保持一致,方便咱们后面的前端整合,这个我直接复制过来。第一个18个注点,第二个right controltrler,第三个叫APIVOD,这个完成完成之后呢,下面我们在里边写一下它的接口部分,那咱们快速做实现,然后在里边呢,首先咱们先把那个service完成注入,那我来注意一下。
03:13
加上奥特。Private vod service vod service在里边写上我们的方法,那这方法的路径我从课件复制一下。就是这个路径。大家看啊,我在方法中呢,有两个参数,第一个是课程ID,第二个叫video ID,也就是当前啊,大家看我这页面中咱们进行观看,是不是点这个课时或者小节,Video ID就是我们这个小节的ID,根据他查询我们做这个视频需要的两个值,一个视频ID,一个当前应用ID,这个依赖我先引入,然后咱们往下进行实现。那咱们啊,往下继续写下,下面怎么做呢?咱就可以调用service中的方法,最终进行实现,那我下面来做这么一个调用,咱们做实现啊,其实这个过程中呢,应该不需要课程ID,因为咱们根据这个小节ID就能得到视频的ID值,最终能进行操作啊,这单改个提示叫小结ID或者课时ID,那下面咱们调用。
04:27
的方法,这方法我就叫做get,就播放就是咱们两个值。在里边把课程ID还有小节ID传进去,然后再让这方法呢,还是返回一个map集合,方便咱们后面取值。返回一个map map里边加上泛型key,是string。Y60OBJECT把这个给它加上。然后加上之后,最后我做一个result.ok传入map,所以咱们看啊,现在CTRL部分我们就快速完成了,完成之后下面呢,咱们写一下service里面,在service中来得到播放需要的这些值。
05:18
我写一下啊,就是。点播视频播放的这个接口。那咱们下面来实现service,我在service里边把这方法进行创建,然后来到实现类中,最终做实现。那咱们实现一下啊,这个方法应该很简单,首先写一下步骤。第一步操作,根据小结ID获取到你小节的对象,然后从里边可以获取到,就咱说那个视频的ID,或者说叫腾讯云里边上传视频ID,包括还有咱们当前应用ID,因为每个人应用都是固定的,我的应用是这个值,也如我把这个咱们还是小配置文件中这个返回可以了,然后把这个进一步写一下啊,在里边咱们调方法,这个方法呢,应该用到那个videos,所以说把那个video seriess给它先注进来。
06:19
我们做个注入。微调。为了能进行查询,然后咱们在这个位置用video series里边的方法get by ID,根据video ID得到你小结的对象,咱们是这个video。然后得到之后,从里边能得到它那个视频ID这个位置,我们做一个判断。咱们写一下啊,如果说V掉这个值呢,等于,那就等于空,那表示没有这个小节,那咱们就要抛出一个自定异常硅谷课堂exception。20001,然后提示说这个小结。
07:02
信息。不存在。如果它不等于空,那咱再返回,然后最终呢,咱返回的有两个值,我们来说明一下啊,咱们首先先谬一个麦即可。先丢一个,然后定完之后向map中来返回两个值,这两值我从课件中咱们复制一下啊,一个叫video ID,一个叫APPID,我给它放到map中,这个ID从video中给它取到,取到的就是这个值。Video素材ID,另外里边还有一个叫D,就是你当前应用的ID,这个ID呢,咱们看啊,比如说各位自己在申请投讯云的时候,你的ID应该是另外一个值,我的ID是这个值,或者说你到这里去找,如果你找不到啊,你到这个超级播放器中看一下,你看这个示例代码中是不是ID,每个人这ID都是固定的,那我的是这个ID,所以我现在这么来做啊,我把这ID呢放到我当前项目的配置文件中,然后咱们给它取到,因为它是一个固定的一个值。
08:12
那我给他写一下啊,比如说我给他起个名字。咱们叫这个腾讯里边这个video a PID等于这个值。然后完之后,我们再就是当前里边把这给到就给它进来啊,咱们加上一个这个注解,然后里边加上表达式,取到这个值,加上这个。Private。APPID,把这个取到,取到之后把它最终做一个返回。然后最终咱们别忘记啊,存这个map,因为咱们做播放需要用到两个值,一个视频ID,一个当前应用的ID,所以现在这个部分我们就完成了,咱把这个就写出来了,也就是咱们目前呢,就完成了里面这个接口开发,这接口很简单,就是得到两个值返回可以了,一个是视频ID。
09:18
在从数据库中得到另外一个是当前应用ID,每个人的应用你到腾讯里边都能找到,然后把它我是放到配置文件中,最终做个返回。所以以上咱们就完成了它里面的接口开发,这个就做到了,接口开发做到之后,咱们下面呢,开始整个前端,最终完成视频的播放。
我来说两句