不完全解决Android微信HTML5 播放视频的问题(不显示控制条,可交互)
首先你需要知道以下内容:
http://ad.weixin.qq.com/learn/2-3-3--%E9%80%9A%E7%94%A8%E5%BA%93
这是微信为广告商开放的API,我一直认为只有在微信投广告才能正常使用。
但是就在刚刚我尝试了一下,直接调用也是可以的(而且没有广告,至少目前是这样)
我们这里用到了微信提供的视频接口 :(点击上面的链接,速去查看)

这样就能解决Android微信 HTML中video会被使用特殊播放器来播放的问题。
因为:
我们直接在HTML中使用video来插入视频,在Android微信下会使用特殊的播放组件来播放,而这个组件是脱离HTML的。(这也是我们头大的地方)
微信给的解释是,因为直接插入的video编码、格式存在多样性,微信为了保证视频的正常播放,而使用了一个专用的万能视频播放器来播放。
而本文中的解决办法为什么就不会使用这个播放器来播放呢?
因为上传到腾讯视频的视频都会被腾讯二次编码,这样视频的编码就被统一了,所以微信放心大胆的吧视频交给HTML5的video来播放了。
这样的最大好处就是不会脱离HTML,让我们可以在视频层之上完成我们想要的东西。
但是这样虽然解决了播放“层”的问题,不过却有个新“BUG”。就是它:

相信聪明了你已经想到 直接把这个视频DIV的top 给遮住就能解决了。
更聪明的你也会想到,我们原始视频需要把顶部多流出空白,这样才不会遮住logo的时候把我们的视频也给遮住了。
当然还有朋友说依然会有控制条,你也可以用同样的方式来处理。
到此我们初步解决了微信HTML5播放视频的一个头疼问题。那么剩下五彩缤纷的交互就交给大家去发挥了。
测试通过环境:
IOS 9.3.3 iPhone 6plus wechat 6.3.23
IOS 9.3.4 iPhone 5 wechat 6.3.23
IOS 8.4.1 iPhone 5 wechat 6.3.23
Android 6.0.1 xiaomi 4 wechat 6.3.23
Android 4.3 sumsung I9300 wechat 6.3.22
未通过环境
IOS 9.3.4 iPhone 5s wechat 6.3.23 (自动系统全屏,这台机器好像一直有问题)
Android 4.4.2 huawei P7-L07 wechat 6.3.22 调用了特殊播放器
Android 4.4.4 xiaomi 3 wechat 6.3.22 自动全屏
不完全解决Android微信HTML5 播放视频的问题(不显示控制条,可交互)的更多相关文章
- (ios)MPMoviePlayerController首次播放视频的时候,没有控制条
问题: 在视频播放时,现在控制条采用磨砂的效果,会遮罩部分视频 解决思路 1 播放器直接设置不带控制条,在app在 Foreground状态,默认播放器暂停,这样需要在获得Foreground事件,进 ...
- Android WebView 总结 —— 使用HTML5播放视频及全屏方案
在APP开发的过程中,会碰到需要在WebView中播放视频的需求,下面讲解一下如何在WebView中使用html5播放视频. 1.让视频在各个Android版本能够正常播放 在AndroidManif ...
- 尚硅谷《全套Java、Android、HTML5前端视频》
尚硅谷<全套Java.Android.HTML5前端视频> (百万谷粉推荐:史上最牛.最适合自学的全套视频.资料及源码) [尚硅谷官网资料导航] 谷粒学院在线学习:http://www.g ...
- Windows及Android倍速播放视频软件下载
目录 1. 更多推荐 2. 关键字 3. 按 4. 软件下载 4.1. IOS应用商店 4.2. 网盘下载 5. 软件介绍 5.1. PotPlayer(Windows) 5.2. MoboPlaye ...
- Android使用TextureView播放视频
1.引言 如果你想显示一段在线视频或者任意的数据流比如视频或者OpenGL 场景,你可以用android中的TextureView做到. 1).TextureView的兄弟SurfaceView 应用 ...
- HTML5播放视频,并使用ffmpeg对视频转编码
网页加入视频可以用h5自带的video标签,这里用一个jQuery封装优化好的video视频组件videojs. videojs官方网站:https://docs.videojs.com/index. ...
- android SurfaceView中播放视频 按视频的原始比例播放
OnPreparedListener mediaPlayerOnPreparedListener = new OnPreparedListener() { @Override public void ...
- Android三种播放视频的方式
在Android中,我们有三种方式来实现视频的播放: 1.使用其自带的播放器.指定Action为ACTION_VIEW,Data为Uri,Type为其MIME类型. 2.使用VideoView来播放. ...
- Android VideoView简单播放视频
给Android VideoView一个文件目录,就可以直接播放智能设备中的视频文件,现在以播放事先用手机拍好并重命名的视频文件test.mp4为例.(1) 需要在布局文件中写一个ViedoView: ...
随机推荐
- RabbitMQ模拟器使用方法
同事推荐了一个很好玩的RabbitMQ模拟器,记录一下简要使用方法. 模拟器地址 http://tryrabbitmq.com/ 使用方法: 直接将画框左面的图标拖进画图区,构建想要的拓扑图: 按住A ...
- C#中调用user32.dll库的keybd_Event函数,操作键盘
keybd_event()的函数原型是: void keybd_event( byte bVk, //虚拟键码 byte bScan, //该键的硬件扫描码 dword ...
- Transaction Save Point (SET XACT_ABORT { ON | OFF })
ref:http://blog.csdn.net/wym3587/article/details/6940630 ref:http://www.cnblogs.com/jiajiayuan/archi ...
- win7&win8.1 x64位系统下在VS2010下配置MPICH2&测试&解决scanf不能输入
1. Mpich下载地址http://www.mpich.org/downloads/,下载mpich2-1.4.1p1-win-x86-64(32位系统请下载mpich2-1.4.1p1 ...
- android 中获取视频文件的缩略图(非原创)
在android中获取视频文件的缩略图有三种方法: 1.从媒体库中查询 2. android 2.2以后使用ThumbnailUtils类获取 3.调用jni文件,实现MediaMetadataRet ...
- Easy Tag Write(3.2)
package skyseraph.android.util; /** * @Title : LogUtil.java * @Package : tcl.nfc.phone.util * @Class ...
- 关于DoesObjectExist
目录: 我们可以看到这个文件夹目录是存在的 文件: 然后,我们运行测试一下: 文件存在检测成功(正常) 文件夹存在,但检测失败! ??? 明明存在的,为什么检测不到……
- DataRow映射实体
public static T ConvertToModel<T>(DataRow dr) where T : new() { T t = new T(); Type modelType ...
- C#先序遍历2叉树(非递归)
找了下先序遍历二叉树C# 实现貌似没有 顺手些了一个 大致思路是: 传入根节点,然后依次循环其子节点推入到栈中, 当推入的节点没有子节点的时候(叶子)或者所有子节点均已经遍历过后(上一次遍历的节点是该 ...
- sqlserver 插入数据时异常,仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'XXXXX.dbo.XXXXXXXXX'中的标识列指定显式值。
INSERT INTO XXXXXXXXX.dbo.XXXXXXXXX select * from XXXXXXXXX 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'X ...