不完全解决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: ...
随机推荐
- sql中datetime 和 timestamp
datetime 1.允许为空值,可以自定义值,系统不会自动修改其值. 2.不可以设定默认值,所以在不允许为空值的情况下,必须手动指定datetime字段的值才可以成功插入数据. 3.虽然不可以设定默 ...
- git 远程版本库,github提供服务原理,git自动更新发送邮件
1.安装好Linux,安装好Git(192.168.1.239) 2.创建一个用户zph(让此用户提供git on server),密码设置为12345678 # useradd zph # pass ...
- WPF中Grid绑定DataTable数据。
1.首先引用DocumentFormat.OpenXml.dll 2.然后新建一个OpenExcelHelper类,将Excel转化为Datatable. /// <summary> ...
- Windows Phone 三、样式和资源
定义样式和引用资源 <Page.Resources> <!-- 向资源字典中添加一个键为ButtonBackground值为SolidColorBrush对象 --> < ...
- eclipse安装svn
- Kolmogorov-Smirnov检验
Kolmogorov-Smirnov检验(K-S检验)基于累积分布函数,用以检验一个经验分布是否符合某种理论分布或比较两个经验分布是否有显著性差异. 两样本K-S检验由于对两样本的经验分布函数的位置和 ...
- Java多线程学习(二)
一.定义产生返回值的任务 在上一篇文的介绍中,我们知道了定义任务通常的方法是定义一个实现Runnable接口的类,这个类被我们成为任务.然而也很容易注意到,任务的最重要的一个方法就是run( )方法, ...
- jquery 通过ajax FormData 对象上传附件
之前上传附件都是用插件,或者用form表单体检(这个是很久以前的方式了),今天突发奇想,自己来实现附件上传,具体实现如下 html: <div> 流程图: <input id=& ...
- Objective-C基础2
16.继承 1)不能和父类定义一样的变量 2)单一继承,不支持继承多个类 3)支持多层继承子类也可以被继承 17.实例变量修饰符 public:公开的,在其他类中也可以访问 protected:受保护 ...
- tornado_mongodb 连接和使用
tornado,mongodb 连接和使用,开始使用tornado3.2,mongodb2.6,pymongo-3.03遇到不少的麻烦.因为新版tornado与老版本的代码有很多变化,mongodb根 ...