iOS开发-WKWebView禁用HTML5的video标签默认全屏播放

释放双眼,带上耳机,听听看~!

问题描述:

在Android中,视频可以正常在H5页面局部播放。
iOS中则自动切换至全屏模式,需要禁止视频自动全屏播放。

解决方法:

H5端:

iOS10以上H5视频不自动全屏播放识别 playsinline这个属性
iOS10以下H5视频不自动全屏播放识别 webkit-playsinline这个属性

x5-video-player-type='h5' x5-video-player-fullscreen='true' playsinline webkit-playsinline

注意::在客户端设置了相关属性之后,网页就可以通过
playsinline='true' webkit-playsinline='true'来控制视频在网页内播放
playsinline='false' webkit-playsinline='false'来控制视频全屏播放

iOS 端实现代码:

UIWebView

webView.allowsInlineMediaPlayback = YES;

WKWebView

WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
configuration.allowsInlineMediaPlayback = YES;
_webview = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, ScreenHeight - 88) configuration:configuration];

注意::这里需要将属性设置在初始化的WKWebViewConfiguration对象上,因为_webview. configuration为原始对象拷贝的原因,所以通过以下方式设置相应属性并不会生效:

_webview.configuration.allowsInlineMediaPlayback = YES;

/*! @abstract A Boolean value indicating whether HTML5 videos play inline
(YES) or use the native full-screen controller (NO).
@discussion The default value is NO.
*/
@property (nonatomic) BOOL allowsInlineMediaPlayback;

 

为TA充电
共{{data.count}}人
人已赞赏
iOS文章

iOS开发停止NSTimer循环引用的五种方法

2021-2-4 19:24:52

iOS文章

2021最新苹果开发者账号申请流程

2021-2-4 21:55:21

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索