问题描述:在Android中,视频可以正常在H5页面局部播放,iOS中则自动切换至全屏模式. 查看资料得以解决,20190301记录下来。
解决方法:IOS10及以后,在 video标签页中只包含 webkit-playsinline 是不够的,需要再增加 playsinline.
H5端重点代码:
x5-video-player-type='h5' x5-video-player-fullscreen='true' playsinline webkit-playsinline
说明:
-
iOS10
以上H5
视频不自动全屏播放识别playsinline
这个属性 -
iOS10
以下H5
视频不自动全屏播放识别webkit-playsinline
这个属性
iOS 端实现代码:
_myWebView.allowsInlineMediaPlayback = YES;
UIWebView 有一个属性如下:
@property (nonatomic) BOOL allowsInlineMediaPlayback NS_AVAILABLE_IOS(4_0); // iPhone Safari defaults to NO. iPad Safari defaults to YES
设置UIWebView
的allowsInlineMediaPlayback
属性为YES
即可。
提醒:
要仔细测试下,看看是不是存在H5页面关闭后,视频还在播放的现象。
//新跳转一个空白页 防止webview中正在播放的视频消失后还在播放。
[_myWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];