video.js切换播放内容src

Mr_Rokien 2018-06-27 03:53:49
目前系统使用videojs播放视频,有个需求是点击按钮,来回切换两个视频,并且要求
如果视频1播放到1分30秒时,切换到视频2也要从1分30秒开始播放

之前试了使用js切换src内容,检查元素可以看到src内容修改了,但是视频并没有切换播放。

今天使用video.js的api方法实现了切换播放,分享一下,希望能有所帮助。

首先我的video长这样:

<div style="width:100%;height:100%;">
<video id="my_video_1" class="video-js vjs-default-skin fillWidth" controls autoplay width="800px" height="600px" data-setup='{}'>
<source id="sourceVideo" src="默认播放url" type="application/x-mpegURL">
</video>
<c:if test="${key > 1}">
<button type="button" class="btn btn-small" onclick="changeVideo('1')">视频1</button>
<button type="button" class="btn btn-small" onclick="changeVideo('2')">视频2</button>
</c:if>
</div>

这是加了初始化方法

<script type="text/javascript">
var options = {};
var player = videojs('my_video_1', options, function onPlayerReady() {
this.play();
this.on('timeupdate', function() {}
});
this.on('ended', function() {
videojs.log('play over!');
});
</script>

这是我点击事件的方法
function changeVideo(obj){
//获取播放器对象
var player = videojs('my_video_1');
if(obj == '1'){
//获取当前播放器的播放时间
var curtime = player.currentTime();
//设置播放器的src
player.src("url1");
//重新加载播放器
player.load();
//设置播放器从curtime开始播放
player.currentTime(curtime);
}else{
var curtime = player.currentTime();
player.src("url2");
player.load();
player.currentTime(curtime);
}
}

目前还存在一个问题没有解决,我的url如果直接写一个文件地址,则可以正常播放。
如果我把url改成一个controller的访问连接,在controller里面返回文件地址,就无法播放,不清楚什么原因
...全文
3729 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
哈撒keyi 2019-12-15
  • 打赏
  • 举报
回复
我也是用ajax 调用 servlet 再赋值到 src 的
哈撒keyi 2019-12-15
  • 打赏
  • 举报
回复
感谢,刚好遇到了这个问题
QWERT4745 2018-06-27
  • 打赏
  • 举报
回复
ajax调用controller获取地址再赋值到src

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧