同层播放器

1. 标签里的内联播放相关属性

微信在video标签上新增了一些x5的私有属性,分别是:

x5-video-player-type

启用同层播放。取值固定为'h5'。

x5-video-player-fullscreen

是否全屏。取值为'true'或'false'。

x5-video-orientation

视频方向。取值分别为'landscape'、'portrait'或者'landscape|portrait',分别对应横屏、竖屏及自动旋转(这个应该用的少)。

不过有一点需要注意的是,这些都是x5的私有属性,仅适用于Android平台。而跟iOS平台相关的,则是这几个属性:

airplay

x-webkit-airplay

playsinline

webkit-playsinline

其中最后两个是iOS平台下的内联播放属性,都是布尔属性,不需要赋值(存在即是true);前两个是iOS平台下airplay的相关属性(说实话我现在也没搞明白为什么网页需要airplay属性),取值为'allow'或'deny',通常保险起见用'allow'就可以。

2. CSS的属性选择及取值

微信在同层接入规范中提到了object-position这个属性,用于设置视频出现的位置。实际在尝试的过程中,搭配object-fit属性同时使用的效果会比较好。但这两个属性并不是x5私有属性,而是原生的,所以它们同时适用于Android和iOS两个平台。

object-position和object-fit这两个元素主要的作用是为“可替换元素”设置位置和大小。这里的“可替换元素”,指的是内容不受CSS显式控制的元素,比如比较典型的就是、、和表单元素等。3. 视频封面4. 初始化设置视频视口

need-to-insert-img

?

code

1

2

3

4

5

$('video')

        .attr({

            'width': window.innerWidth + 'px',

            'height': window.innerHeight + 'px'

        });

5. UA特性探测

这些内容可能对你也有帮助

Android实现简单音乐播放器(MediaPlayer)

使用VUEJS2.0制作音乐播放器

android 播放器的初探

Android之万能播放器解码框架Vitamio的介绍及使用

Vue2.0音乐播放器

【项目整理】心灵驿站音乐播放器类iOS端app

小米盒子高清播放器 小米5s能播放高清视频和电影吗

基于vue-cli 构建 使用全家桶实现 音乐播放器 等

更带感的vue歌词播放器vue-lrc-player

PS怎么创建音频播放器界面

TAGS: 播放器  神经病

上一篇:JavaScript 中 闭包 的详解

下一篇:nodejs-local-api

猜您也会喜欢这些文章

jQuery纵向导航菜单效果实现方法

jQuery Ajax使用用法详解

js点击enter回车键实现表单元素切换焦点效

前后台交互

videojs--跨浏览器的HTML视频播放器(可自定

npm包与gem包

JavaScript学习总结(二) 闭包、IIFE、apply

JS:window.onload的使用

Web前端开发之水印、图片验证码

javascript_basic_01

最近更新

1javascript自定义事件原理


2一个Vue+Canvas的酷炫后台管理


3vue源码学习之简单的数据监听


4nodejs-local-api


5WebAssembly 为什么比 asm.js 快?


6神经病啊!——微信同层播放器接(踩)入(坑)总结

7面试整理----javascript


8React 动态渲染图片,提升用户体验


9JavaScript 中 闭包 的详解


10JavaScript this关键字

热门排行

1如何安装和配置 AngularJS Eclipse


2summernote编辑器插件使用笔记


3Redux之Action Creator / bindActionCreators:动态去生成Action

4从零组装新工具 - Koa2


5Vue_VueValidator


6Vue.js——使用$.ajax和vue


7基于AngularJs的上传控件-angular-file-upload的使用实例

8解决Angular2 (SystemJS) XHR error (404 Not Found) loading traceur

9javascript中的正则表达式


10吐槽一下vue-loader

推荐内容

1WebAssembly 为什么比 asm.js 快?


2神经病啊!——微信同层播放器接(踩)入(坑)总结

3JavaScript 中 闭包 的详解


4JavaScript 中 apply 、call 的详解


510道典型的JavaScript面试题


6javascript . 03 函数定义、函数参数(形参、实参)、函数的返回值、冒泡函数、函数的加载、局部变量与全局变量、隐式全局变量、JS预解析、是否是质数、斐波那契数列

7京东数据接口调用


8JavaScript try

9蝼蚁的觅食之路 之 冒泡排序


10gulp基础教程

首页

关于我们

联系方式

广告合作

网站帮助

网站地图

© 2009-2020 www.zhimengzhe.com 织梦者. 站长统计

本站所有教程文章与下载资源版权均归原作者所有.如有侵权请与站长联系,本站将及时删除.站长邮箱:895674471#QQ.com(将#改为@). 谢谢合作!

更多Javascript教程可查看Javascript教程列表页。

以上就是对神经病啊!——微信同层播放器接(踩)入(坑)总结的相关介绍,希望对您学习javascript有所帮助,感谢您关注织梦者!

Apple Developer - Opting Into or Out of AirPlay

Apple Developer - plays​Inline

Apple Developer - HTMLMedia​Element

Apple Developer - HTMLVideo​Element

MDN - 可替换元素

MDN - 媒体相关事件

MDN - object-position

MDN - object-fit

半深入理解CSS3 object-position/object-fit属性

HTML5中的视频音频使用详解

H5微信播放全屏问题

关于如何在微信里面让video不全屏播放

视频H5のVideo标签在微信里的坑和技巧

微信 ·《H5同层播放器接入规范_20170117》

参考资料:

在QQ浏览器Android版本中,当浏览器版本>=7.1时开始支持

UA示例:User­Agent: Mozilla/5.0 (Linux; U; Android 4.4.4; zh­cn; OPPO R7

Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko)Version/4.0

Chrome/37.0.0.0 MQQBrowser/7.1 Mobile Safari/537.36

在微信等TBS里通过UA判断X5内核版本来区分,当版版本号>036849表示支持

UA示例:

Mozilla/5.0 (Linux; Android 4.4.4; OPPO R7 Build/KTU84P) AppleWebKit/537.36

(KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile MQQBrowser/6.8

TBS/036849 Safari/537.36 MicroMessenger/6.3.27.861 NetType/WIFI

Language/zh_CN

同层接入规范里给的,判断是否是同层播放器方法:

就可以了。

同层接入规范里推荐的是设置video标签css的宽高,但我一般还是习惯直接设置标签的width和height,所以在ready回调里加个:

标签里有一个与视频封面相关的属性poster,但是在使用中发现性能存在一些问题,在Android端打开视频时(加载),会有跳动的感觉,但是如果去掉,在视频加载时(preload取值'auto',且未用预加载)则会显示空白页面。目前换用了背景图片的方式,但由于视频全屏播放时顶部会有空隙,所以额外加了个background-position: bottom;以及background-size: contain;(取值和视频保持一致),这样设置好的背景在播放视频时就不会漏边了。

另一个属性object-fit,有点类似background-size属性,用来设置视频在容器内的填充方式,平时用只需要取值'contain'(保持宽高比填满容器)就可以了。不过这里需要留意的是,全屏下,由于视频一般都不会正好填满屏幕(宽高比差异以及输出分辨率没算顶部标题栏),会在顶部留下一条空隙。这条空隙通常是默认黑色的,如果需要更改颜色,首先要加上个'display:block;'(因为video默认是inline的),然后直接改background-color就OK~

说回视频播放。微信官方的同层接入规范中推荐的做法,是用js动态计算需要的像素值,然后给object-position属性赋值。而我自己尝试了一圈下来,发现object-position这个属性本身支持百分比取值,通常视频默认的值是'50% 50%',也就是居中;全屏视频一般情况下需要贴底放,所以要把取值改成'0 100%'。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容