VideoJS事件在旧版Android 2.x中触发

时间:2013-02-26 21:47:46

标签: video.js

我们无法在Android 2.x设备上触发事件。从我们的测试来看,Android 4.x和iOS 5/6正常运行。但是在Android 2.x设备上,我们有时会收到“结束”事件,有时我们会收到“开始”事件。

它说它具有跨浏览器兼容性,但是有人遇到这些问题吗?

以下是代码的相关部分

<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="http://vjs.zencdn.net/c/video-js.css">
  <script src="http://vjs.zencdn.net/c/video.js"></script>
  <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
</head>
<body>
  <div id="videoplayer" style="margin:0 auto; text-align:center;">
    <video id="video" class="video-js vjs-default-skin" controls autoplay preload="auto" width="300" height="300">
    </video>
  </div>
</body>
</html>

<script>
$(document).ready(function() {    
  _V_("video").ready(function() {

    var thePlayer = this;    
    var startVideo = function() {
            // do stuff
    };

    var endVideo = function() {
            // do stuff
    };
    thePlayer.addEvent("play", startVideo);
    thePlayer.addEvent("ended", endVideo);
  });
});
</script>

1 个答案:

答案 0 :(得分:0)

我弄明白了这个问题。我能够在Android 2.2和2.3模拟器上重现它。由于加载视频时出错,因此没有任何事件触发视频播放。

问题(适用于Android 2.x设备):

  • 从HTTPS网址播放链接无效。我们使用的链接是链接到Amazon S3存储桶的Amazon Cloudwatch URL。当我将网址更改为HTTP与HTTPS网址时,它可以正常工作。
  • 我不得不删除视频元素上的autoplay属性。不知道为什么,但Android 2.x中的视频播放器不喜欢这个。

我做了这两个修复后,我能够在Android 2.x设备(以及Android 4.x,iPhone和iPod)上流式传输视频