移动app+h5混合开发之ios系统video

资料为网络搜索整理,仅限学习交流使用!!!

video属性:

基础属性

 id="video" 
  src="video.mp4" 
  controls = "true" // 播放控制器-默认false
  poster="images.jpg"  // 视频封面
 style="object-fit:fill" // 视频文件样式,fill 填充
 autoplay //出现这个属性表示开启自动播放,默认false
preload="auto" // 规定是否在页面加载后载入视频,如果设置了autoplay属性则忽略该属性

特殊属性
webkit-playsinline="true" /* 这个属性是ios 10中设置可以让视频在小窗内播放,也就是不是全屏播放*/ playsinline="true" // IOS微信浏览器支持小窗内播放 x-webkit-airplay="allow" //自动播放授权,部分机型无效 x5-video-player-type="h5" // 启用H5播放器,是wechat安卓版特性 x5-video-player-fullscreen="true" // 全屏设置,设置为 true 是防止横屏 x5-video-orientation="portraint" // 播放器的方向, landscape横屏,portraint竖屏,默认值为竖屏

一.iOS webview中video标签播放视频导致状态栏异常

h5用video标签播放视频,系统会弹起一个window用AVPlayerViewController播放视频,导致异常,可以在控制器中监控window退出,在回调方法中解决问题。

eg:

1.通知:receiveWindowDidBecomeHiddenNotification

2.收到通知处理

- (void)receiveNotification:(NSNotification *)noti{
    
    UIWindow *window = (UIWindow *)noti.object;
    if(window){
        UIViewController *root = window.rootViewController;
        NSArray *arr = root.childViewControllers;
        if(arr.count>0&&[arr.firstObject isKindOfClass:NSClassFromString(@"AVPlayerViewController")]){

/*   代码   */
        }
    }
}

二,webview属性

iOS:

1.allowsInlineMediaPlayback

是否能播放内联视频,iPhone的默认值为false,iPad的默认值为true。

将此属性设置为true可以内嵌播放视频否则使用本机全屏控制器播放。 

 

2.mediaTypesRequiringUserActionForPlayback

设置为NO,可以h5决定自动播放,否则,无论h5如何设置,都需要用户点击才能播放。

posted @ 2021-01-15 14:46  韩冷耀  阅读(656)  评论(0编辑  收藏  举报