h5 video播放器遇到的坑

h5 video播放器遇到的坑

1.在安卓webview中默认全屏播放解决方法
  • 此属性需要在播放前设置好,播放之后设置可能会无效
  • 如果使用video播放音频文件的话,安卓会出现黑屏并且无法播放的状况,所以要进行判断,播放音频的时候不需要加此属性
    video.attr('x5-video-player-type', 'h5')  // 启用同层H5播放器
2.在ios webview中会默认全屏播放,并且在6p等部分机型中无法播放

解决了安卓的问题,本以为大功告成,结果又有问题,我摸索着修改了很多属性调试了很久,再怎么样就是播放不了,后来收集了onerror的报错信息之后,找ios开发加上如下属性

    webview.allowsInlineMediaPlayback = YES; // 允许内联播放
    webView.mediaPlaybackRequiresUserAction = NO; // 允许点击后播放video,注:(在wkwebview中不知道需不需要加,我用的UIwebview)
3.设置ios在微信端内联播放,给video加上如下属性,安卓不支持以下属性
    <video playsInline='true' webkit-playsinline='true'></video>
4.在安卓微信端内联播放,背景:android微信内置浏览器采用腾讯X5内核,不遵循X5web标准,video强制全屏
  • 此属性需要在播放前设置好,播放之后设置可能会无效
    let video = $('#video')
    video.attr('x5-playsinline', true)  // 启用x5内联播放
5.UC浏览器中(ios系统),不支持使用video播放mp3文件
  • 之前以为是其他原因播放不了,后来亲测使用audio是可以的播放的,所以虽然video支持播放音频文件,但是为了避免各种坑,以后在项目中还是做个判断,音频文件就使用audio
6.退出h5页面,音频或者视屏还在播放
  • 目前只能在事件中手动关闭播放
  • 或者监听页面离开的时候关闭
7.在一些安卓自带浏览器中,播放时系统播放器会接管播放,导致样式都是系统的,还可能会全屏,目前无解
8.video的其他属性
  • x-webkit-airplay=“allow” 通过AirPlay可以把当前的视频投放到支持此技术的其他设备上。
  • x5-video-player-fullscreen=“true” 视频播放时将会进入到全屏模式
  • x5-video-orientation 控制横竖屏,可选值: landscape 横屏,portrain竖屏; 默认portrain
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值