android webview 播放 video经验总结

  次阅读 作者:智能小宝 来源:互联网 2015-10-02 21:27 我要评论(0)

在目前PC浏览器上,对video的支持基本都没什么问题了。但是如果用webview去跑这样的页面就会遇到许多问题。

下面一段html

复制代码

1 <!DOCTYPE html>

2 <html>

3 <head>

4 </head>

5 <body onload="test()">

6<video id="video01" autoplay="autoplay">

7<source src="mov_bbb.mp4" type="video/mp4" />

8<p>no support text</p>

9</video>

10 </body>

11 <script>

12

13 function test() {

14var video01 = document.getElementById("video01");

15video01.preload = "auto";

16video01.autoplay = true;

17video01.loop = true;

18 }

19 </script>

20 </html>

复制代码

用js控制视频的自动播放,循环播放等特性,在PC上都没啥问题。但是如果用webview去装载的话,自动播放和循环播放可能用不了。

android的webview上autoplay自动播放这个特性支持跟设备有关系,和android的版本号没关系(这个试过的)。并且大多数设备都是不能自动播放的。并且loop这个特性也基本上是不支持的。

在webview经历了以下调试过程。

如果将video的controls打开,让它显示控件。点击播放控件是可以正常播放的。这个可以证明播放mp4视频本身是没有问题的。

html5的video详细可以参考http://www.w3school.com.cn/html5/html5_ref_audio_video_dom.asp

如果在页面上自己添加一个按钮,通过点击按钮来调用video.play()方法,能不能播放呢。

<div>

<button id="playBtn01">play</button>

</div>

js代码

var playBtn01 = document.getElementById("playBtn01");

playBtn01.addEventListener("click", function() {

video01.play();

});

这样是可以正常播放的。

于是便会想到能不能在某个特定的时候(例如某个事件发生,或者定时器时间到)调用video.play()方法让其自动播放呢?

修改一下代码

复制代码

1 function test() {

2

3var video01 = document.getElementById("video01");

4var timer = null;

5var playing = false;

6

7video01.addEventListener("playing", function() {

8playing = true;

9});

10

11timer = setInterval(playInterval, 1000);

12

13

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...