移动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如何设置,都需要用户点击才能播放。