手机网页抓取视频(无法切换视频源问题H5页面不能使用jquery的attr方法)

优采云 发布时间: 2022-01-15 08:08

  手机网页抓取视频(无法切换视频源问题H5页面不能使用jquery的attr方法)

  一、无法播放视频问题

  部分手机浏览器,如UC浏览器,无法播放H5页面的视频,视频要么一直循环加载,要么报-9324、19000错误。

  网上大部分资料都说video标签的参数配置错误,浏览器版本不兼容,视频需要H264格式编码,但这些都不是我们的问题。

  最后发现问题出在网络协议上。在部分手机浏览器上,H5页面只能使用http或websocket协议传输视频数据,不能使用https协议。

  解决方案是在视频标签中使用完整的http视频链接,即带有http前缀的绝对路径。

  然后我们为服务器的nginx上的/static/video目录配置一个http协议的静态资源映射。

  二、无法切换视频源问题

  H5页面不能使用jquery的attr方法切换视频源,否则点击切换后的视频无法播放,必须使用原生js实现切换功能。

  错误的方法:

  if (isH5) {

    $("#videoid").attr({"src": "http://" + window.location.host + newVideoSrc});  // H5页面加上http前缀,使用绝对路径

} else {

    $("#videoid").attr({"src": newVideoSrc});

}

  正确方法:

  let video = document.getElementById("videoid");

if (isH5) {

    video.src = "http://" + window.location.host + newVideoSrc;  // H5页面加上http前缀,使用绝对路径

    video.play();  // H5页面必须加这个自动开始播放,不然切换后无法播放,非H5页面加不加都行

} else {

    video.src = newVideoSrc;

}

  请注意 video.play(); 应该添加到H5页面,否则切换后仍然无法播放。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线