video标签首帧在ios webview内嵌时,可能获取不到的问题
video在h5,或者pc都可以正常的获取到首帧图片,而在ios内嵌的webview却可能获取不到。
原因
客户端常用的是UIWebView 和 WKWebView,这两个容器需要做一些特殊的设置才可以文让ios稳定的获取首帧图片。
通常在其他场景下,或默认获取第0.1秒的一针。
解决方案
主动设置所需要截取的时间节点。
// https://videos.linhuiba.com/lgl0qV0cveenpjz2NT2uJaKZq-7a 这是视频地址
// 通过t=0.1设置截取时间节点。此时在ios webview下就可以正常显示图片了,虽然他不一定是首帧。
<video src="https://videos.linhuiba.com/lgl0qV0cveenpjz2NT2uJaKZq-7a#t=0.1" width="100%" height="300px"></video>
注意
在ios微信内无法通过预载视频获取首帧,因为微信无法预加载视频。所以只能在上传时候时,让服务端获取到首帧图片,然后主动插入到poster参数内。
所以一般来说我们不推荐在h5端做视频预览功能,不然需要前后端进行同步改造,哪怕可以通过qiniu偷懒,但是目前的私有化交付却可能无法交付qiniu。