# browserPlayer **Repository Path**: dllwh/browserPlayer ## Basic Information - **Project Name**: browserPlayer - **Description**: H5播放器学习以及常用属性、方法 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 2 - **Created**: 2017-11-05 - **Last Updated**: 2022-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Html5 Video 实现方案 =========== 一、 Html5 Video -------------- > `HTML5 是近十年来Web标准最具大的飞跃。随着HTML5的发展,Html5 的video标签已经或者即将被大多数浏览器支持,特别是Flash Player的逐渐落幕。随着将Html5 Video 功能应用到实际项目中,可以针对不同的平台、环境,进行个性化处理。现在Html5 Video支持,.mp4后缀(.h264编码格式),和.webm后缀(专用web视频格式),以及.ogg后缀(音频文件)。HTML5 Video可以添加多个source 源来进行兼容性适配,这样当第一个源读出问题时会自动读取下一个源。例如可以同时在source 中添加.webm、.MP4源,这样一个出错时就会自动读取另外一个可用源(因为不用的浏览器支持的格式是不一样的)。但是,在HYbird模式下的Android下,有的机型只能读取第一个source来源(华为、联想这两款手机,网上来源),所以也就是说在这样这种情况下,要确保第一个source源是正确的。下面是各大浏览器兼容情况,如下图所示:` > > ![各大浏览器兼容情况](https://github.com/dllwh/browserPlayer/blob/master/images/introduce/clipboard.png?raw=true) 二、Html5 Video应用的平台环境和对应实现方案 ------------- 这里可以分为大块 > * ** 普通浏览器环境** > pc和手机,主要是移动端,pc不做特别处理 > * ** Hybird App环境** > Android和iOS > 注: Html5 video可以播放本地视频或者网络视频 >## 2.1、 普通浏览器环境 * **用Html5 Video 自带的播放栏控件** * **用 Video 视频统一处理方法处理后,点击播放按钮手动隐藏图片(放置图片主要是避免视频播放区域的黑屏),设置视频大小,手动播放视频** * **移动设备上的浏览器检测到 HTML5 视频时,会自动加上播放按钮,然而在大多数情况下,默认的播放按钮点击之后并不能正常播放视频,所以需要隐藏移动设备自动添加的播放按钮** > video::-webkit-media-controls { > display: none !important; > } > > video::-webkit-media-controls-enclosure { > display: none !important; > } 注: 播放效果则由各大浏览器自行实现 > 手机端浏览器实现的不同效果,比如: > QQ浏览器(包括QQ客户端内置的浏览器):播放时会自动进入全屏 > 华为自带浏览器: 正常小窗口播放 > 为避免播放全屏,可以添加:x-webkit-airplay=true webkit-playsinline=true x5-playsinline=true >## 2.2、 Hybird App环境 说明: 内联播放是指直接在video标签中播放视频,没有必要进入全屏 >>* **2.2.1、 Android内联播放** >>* ** 用Html5 Video 自带的播放栏控件 ** >>* ** 用 Video 视频统一处理方法处理后,点击图片手动隐藏图片,设置视频大小,手动播放视频 ** >>* ** Android内联播放需要注意,必须开启硬件加速,由于有些Android手机 webview是默认关闭硬件加速的,所以必须在创建这个带视频播放的webview时手动添加 硬件加速属性才行.(详情见plus创建webview的style) ** style.hardwareAccelerated = true; >* ** 2.2.2、 iOS内联播放 ** >>* ** 用Html5 Video 自带的播放栏控件 ** >>* ** 用 Video 视频统一处理方法处理后,点击图片手动隐藏图片,设置视频大小,手动播放视频.** >>* ** 内联播放注意要点,由于iOS下默认是全屏播放的,所以需要经过设置才能正常内联播放** >>>第一步:在项目的manifest里面配置允许webview内联播放 > "plus": { > "splashscreen": { > "autoclose": true,/*是否自动关闭程序启动界面: true表示应用加载应用入口页面后自动关闭;false则需调plus.navigator.closeSplashscreen()关闭 */ > "waiting": true/*是否在程序启动界面显示等待雪花,true表示显示,false表示不显示。*/ > }, > "allowsInlineMediaPlayback": true,/*设置ios下允许内联播放*/ > "popGesture": "close" > } >>>第二步: 创建video标签时,手动加上内联播放的属性(iOS不支持preload) >>> >>>