柔晶美网络工作室

柔晶美网络工作室,倾心于web技术的博客站点

关注我 微信公众号

您现在的位置是: 首页 > 博客日记

HTML5播放视频,通过jquery动态的设置video src的值无法播放视频的解决办法

2019-10-12 admin 前端  1688

通过 jQuery 确实是给 source 的 src 赋值成功,从调试来看,浏览器并没有去发起请求去获得相应的视频,

而只是单纯的将 a 标签的 data-src 中的值赋值给 source 了。

但是如果这么做,浏览器就会去请求地址获得视频文件:

$(".dj").on("click", function() {
   var src = $(this).data("src"),
       sourceDom = $("[object Object]");
       
   $("#video-box video").append(sourceDom);
   $("#video-box").show();
   
   // 自动播放
   $("#video-box video")[0].play()
});

上面那个方法,经测试,只能上传一次的时候是有效果的,如果要替换多次视频地址,就会显示第一次的视频,还有有一点问题,可以使用如下方式修改视频的播放地址:

var videoSrc = data.videoUrl;//新的视频播放地址
 document.getElementById("videoid").src=videoSrc ;
 document.getElementById("videoid").play();

此外,需要HTML5仅允许一个视频播放,点另一个时原视频暂停

var video = document.getElementsByTagName("video");
// 暂停函数
function pauseAll() {
  var self = this;
  [].forEach.call(video, function (i) {
    // 将audios中其他的audio全部暂停
    i !== self && i.pause();
  })
}
// 给play事件绑定暂停函数
[].forEach.call(video, function (i) {
  i.addEventListener("play", pauseAll.bind(i));
})

演示站:https://blog.dzbfsj.com/play

文章评论


需要 登录 才能发表评论
热门评论
0条评论

暂时没有评论!