YongLing 器粉跑堂
超级管理员
2018-04-28 09:44:25 

X5内核视频之问答汇总

 本帖最后由 YongLing 于 2018-08-10 10:23:09 编辑1.X5内核视频三种播放形态

(1) 全屏播放
   X5内核视频默认播放形态,用户点击视频区域后开始进入全屏播放,视频区域内的所有事件行为会由X5内核视频组件全权托管。视频层级最高,会遮挡所在区域所有html元素。(仅使用于安卓微信、手机QQ等非安卓QQ浏览器的X5内核场景)
   https://yongling8808.github.io/test/video_demo/video.html
 


(2) 页面内播放
   X5内核视频在用户点击后默认会进入全屏播放,前端可以设置videox5-playsinline属性来将视频限定于网页内部播放
   https://yongling8808.github.io/test/video/video_inpage_playsinline.html
 


(3) 同层全屏播放
    同层全屏播放是X5内核一种特殊的视频播放形态,在video标签中添加x5-video-player-type=”h5属性后用户点击视频区域后,X5内核会先截取当前页面可视区域并动画撑满全屏,延时1s后,无缝切入视频播放界面,为了让用户有良好的体验,在播放前请勿移除页面元素,避免X5内核截取的屏幕与最终的视频播放视觉差距较大。
   https://yongling8808.github.io/test/video_demo/video_fullscreen_samelayer_1.html


                
   配合同层全屏播放的还有
     x5-video-player-fullscreen=true,可以让视频撑满屏幕。(该属性只能在x5-video-player-type=h5场景下使用)
    https://yongling8808.github.io/test/video_demo/video_fullscreen_samelayer_2.html
 
     x5-video-orientation支持landscapportraitlandscap|portrait三种值类型。默认为portrait,当设置成landscap|portrait,同层全屏会跟随系统自动横竖屏切换。任何时机均可设置。(该属性只能在x5-video-player-fullscreen=h5且非安卓QQ浏览器场景的X5内核场景下使用)
    https://yongling8808.github.io/test/video_demo/video_fullscreen_samelayer_3.html
 
   
   同层全屏形态更多信息可以参见http://x5.tencent.com/tbs/guide/video.html

   注意:同层全屏播放为了不让视频能够拖动,会将当前播放的视频元素及其父元素(直到body元素)overflow属性设置成hidden,退出全屏时再还原,这里需要开发者使用TBS4.1或者QB8.5及以后版本上调试验证。 


2.X5内核视频事件

(1) 进入、退出全屏通知
 可以通过**x5videoenterfullscreen、x5videoexitfullscreen来**视频进入和退出全屏通知。
 https://yongling8808.github.io/test/video_demo/video_fullscreen_event.html
 


(2) 扩展通知
 X5内核视频额外参数,每秒触发一次,让前端通过参数分析决定是否换视频源来保证用户的播放体验。
 https://res.imtt.qq.com/qqbrowser_x5/h5/samples/video/video_extrainfo.html
 
 
3.X5内核视频反馈问答

(1) Q:X5内核视频可以实现自动播放吗?
 A:X5内核作为webview,具备自动播放能力,但这能力的控制权交由TBS宿主控制(安卓微信、手机QQQQ浏览器及其它第三方接入),宿主可以通过webview settingssetVideoPlaybackRequiresUserGresture来决定是否允许前端页面实现自动播放。目前安卓QQ浏览器允许wifi下自动播放、手机QQ允许自动播放、微信不允许自动播放。
 https://yongling8808.github.io/test/video/video_autoplay.html
 
(2) Q:X5内核视频为什么有时使用js调用video.play() 无法播放?
 A:X5内核自TBS3.8及以后在事件处理这块跟移动端标准对齐,只有用户点击视频或者用户点击操作的时间周期内js调用了video.play()才可以正常播放。
       https://yongling8808.github.io/test/video_demo/video_gesture.html
 
(3) Q:X5内核视频播放会触发页面元素的onblur吗?
 A:目前X5内核的视频播放使用跟当前webview同级别的view来展示,视频播放时会抢占webview的焦点势必会导致页面内焦点丢失。
 
(4) Q:在X5内核上使用js调用videoseek方法怎么会出现seek位置跟传入的参数不符?
 A:X5内核中的视频播放器是提供seek能力的,但seek的最终位置是前端传入的时间参数向已播放的方向的第一个关键帧。所以会出现seek位置不准,这个跟具体的视频源由一定关系。
 
(5) Q:X5内核竖屏播放视频时,横置手机会自动切到横屏全屏播放,但再竖屏时,视频为什么无法切回来?
 A:这个是产品策略,需要用户点击全屏上的返回按钮后返回到竖屏。
 
(6) Q:使用X5内核打开A页面播放视频后暂停,再点击A页面跳转到B页面,再从B页面当用户发生点击行为时使用jshistory.gobackA页面,A页面视频一定概率会自动播放。
 A:这个是X5内核前进后退重新恢复A页面视频播放通路遗留问题,页面前端可以将js的history.goback 调用跟用户点击行为的时机错开,比如在用户click时间中延时100ms再去调用history.goback可以临时解决该问题。
 
(7) Q:X5内核支持多个视频同时播放吗?
 A:不支持。
 
(8) Q:X5内核支持MSE吗?
 A:X5内核MSE正在支持中,预计TBS44200版本及以后,QQ浏览器8.6版本及以后支持。

(9)Q:接入X5内核后,webview的onLoadResource为什么接收不到H5页面video标签的视频url地址?如何获取视频链接?
  A:X5内核视频播放使用X5内核视频sdk,视频资源通过sdk拉取,独立于X5webview,所以不会有onLoadResource通知,但可以通过webview接口注入js获取video标签的url属性。
 
(10)Q:视频盖住了网页其他标签。
  A:同层全屏形态时不会盖住;native形态播放器是处于顶层的独立view会遮盖视频区域的其它元素。
 
(11)Q:x5内核video的currentTime赋值后无效。
  A:只有视频开始播放后设置的currentTime才有效。
 
(12)Q:Video标签转Canvas会有卡顿。
  A:X5内核基于安全策略,对获取摄像头数据后在canvas上的绘制做了限制。
 
(13)Q:视频播放控件支持自定义吗?
  A:同层全屏形态下的控件前端可以自定义,native形态不支持自定义。
 
(14)Q:X5内核的视频播放支持字幕功能吗?
  A:不支持。
 
(15)Q:X5内核视频播放支持自签ssl证书的视频吗?
  A:不支持。
 本主题由 蛋蛋_MVW0SR 于 2018-04-28 10:05:08 设置高亮
18 条回复
Joker_tG0EVm 器粉跑堂
2018-05-04 14:50:16 沙发
 本帖最后由 Joker_tG0EVm 于 2018-05-04 14:51:58 编辑Cordova7.0集成X5,加载不了主页了。求解决方案


deviceready has not fired after 5 seconds.
Channel not fired: onCordovaInfoReady
Channel not fired: onFileSystemPathsReady
Channel not fired: onCordovaConnectionReady
Joker_tG0EVm 器粉跑堂
2018-05-04 14:50:38 板凳
该楼层已被删除
梦幻緣 器粉跑堂
2018-05-04 16:46:50 地板
该楼层已被删除
1_KWgLbd 器粉跑堂
2018-05-04 20:16:36 发自手机 4#
在手机编程的时候获取不到jar包里的文件
你我━═☆炫耀幸福 器粉跑堂
2018-05-16 10:38:10 5#
该楼层已被删除
你我━═☆炫耀幸福 器粉跑堂
2018-05-16 10:39:05 6#
视频在微信播放时被拉伸,求解决方案
书中有朵云 器粉跑堂
2018-05-21 10:25:48 7#
在WiFi网络下可以正常播放视频,但是移动4G下播放失败。已知有问题的机型华为P10,vivo等手机必现问题。
提示了一下正在使用手机网络流量就无法播放了,点击播放按钮没反应。


怎么解决?
宇亭 器粉跑堂
2018-05-28 11:33:39 8#
(7) Q:X5内核支持多个视频同时播放吗?
 A:不支持。
 
请问支持视频和音频同时播放吗
pppploi8 器粉跑堂
2018-05-28 16:25:22 9#
setVideoPlaybackRequiresUserGresture写错了,在最新的SDK里找不到,找到的是setMediaPlaybackRequiresUserGesture


另外我想问下为什么我这里demo里页面内播放没用?按照文档的10步接入sdk后用loadUrl打开了(2)页面内播放提供的网页地址,并没有效果依然是全屏播放的,用手q和微信扫描的话都可以正常小窗播放,找了半天了实在想不到是哪里配置的不对



灯火阑珊_zgnFEM 器粉跑堂
2018-05-29 17:43:21 10#
全屏播放视频,视频播放后,自动推送一大堆视频,怎么才能不让推送?
军•Army. 器粉跑堂
2018-05-31 10:26:36 11#
x5内核视频播放 标签分享怎么屏蔽
Ohno_fVG69n 器粉跑堂
2018-06-07 10:43:01 12#
x5内核pdf插件可以提前触发下载吗 有相关API吗
器粉跑堂
2018-06-08 13:01:06 13#
X5内核视频播放后有广告怎么解决
无尽之海 器粉跑堂
2018-07-13 14:07:57 14#
10#
全屏播放视频,视频播放后,自动推送一大堆视频,怎么才能不让推送?  
无尽之海 器粉跑堂
2018-07-13 14:08:53 15#
播放完后的视频推送能不能关闭。。。。暂停视频是提示下载QQ浏览器的广告能不能关闭
无尽之海 器粉跑堂
2018-07-13 14:11:06 16#
看了你们关于推送的 一些帖子 只要是提出 怎么处理推送的 就完全没有下文 这是一个大公司该有的态度么 你大 你就可以流氓么  你可以搞收费  但不能强制用户 必须如何吧
默默_DoFYLC 器粉跑堂
2018-07-26 14:06:03 17#
接入X5内核,实现WebViewClient接口的onLoadResource方法,在onLoadResource方法的url参数中,获取不到MP4/M3U8的video标签的SRC。不接X5内核,能正确获取到video标签的SRC。
信誉第一_u0n76r 器粉跑堂
2018-08-08 10:26:25 发自手机 18#
该楼层已被删除
回复

您需要 登录 后才可以回帖