美文网首页
UIWebView-视频自动播放属性

UIWebView-视频自动播放属性

作者: 流浪的野兽 | 来源:发表于2019-07-25 18:07 被阅读0次

    allowsInlineMediaPlayback

    允许在网页内部播放视频,设置这个属性为YES;如果使用原生的全屏控制器播放视频的话, 就设置这个属性为NO。这个属性在iPhone上默认为NO, 在iPad上默认为YES。

    Ios12之前系统,此方法设为yes也会调用系统播放器。

    mediaPlaybackRequiresUserAction

    这个属性是替代requiresUserActionForMediaPlayback这个属性的。

    当mediaPlaybackRequiresUserAction这个属性设置为NO的时候,就是自动播放,不需要用户采取任何手势开启播放。

    但是以上两个API都过期了,现在有另外一个属性mediaTypesRequiringUserActionForPlayback,枚举值包括4个:

    WKAudiovisualMediaTypeNone = 0,

    WKAudiovisualMediaTypeAudio = 1 << 0,

    WKAudiovisualMediaTypeVideo = 1 << 1,

    WKAudiovisualMediaTypeAll = NSUIntegerMax

    iOS12.2升级后,UIWebView加载的H5页面会出现一个Bug,就是通过JS调用或者标签设置自动播放视频的功能无法使用,JS调用播放视频方法还会报错:“Unhandled Promise Rejection: NotAllowedError: The request is not allowed by the user agent or the platform in the current context,possibly because the user denied permission.”。

    经过测试发现,iOS升级到12.2后,如需在UIWebView中自动播放视频、或者想通过JS调用方法的方式播放视频,必须将UIWebView中的“mediaPlaybackRequiresUserAction”设置为NO;这个属性的意思就是:是否需要用户操作才能播放视频,默认为YES。

    总结:iOS12.2之前的系统版本无此问题,WKWebView在各个兼容WKWebView的系统中也无此问题,说明在iOS12.2中把UIWebView的这个属性做了加强;

    相关文章

      网友评论

          本文标题:UIWebView-视频自动播放属性

          本文链接:https://www.haomeiwen.com/subject/vnkkrctx.html