【问题标题】:Playing a video via script does not work on Android通过脚本播放视频不适用于 Android
【发布时间】:2016-03-10 11:57:12
【问题描述】:

我想做的很简单。通过脚本播放视频。而已。我的代码在 PC 上运行良好,但在 Android 上却不行。 奇怪的是,当我点击一个视频元素播放视频并再次点击暂停它后,我的代码运行良好..,这意味着播放视频是由服务器端 js 方法执行的。 我只是假设我需要为 Android 上的代码添加一些额外的信息才能以我预期的方式工作。代码如下。

```html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <video id="video-player" width="640" height="480" preload="auto">
    <source src="assets/test_movie.mp4" type="video/mp4">
  </video>

  <!-- import script after DOM is ready -->
  <script src="/socket.io/socket.io.js"></script>
  <script src="/frontapp.js"></script>
</body>
</html>

```

```js

(function(){

  var socket = io();

  // store video dom element in application memory
  var video = document.getElementById('video-player');

  // listen socket
  socket.on('player trigger', function(data){
    //playMovie(video);
    video.play();
    console.log('hi there from server');
    document.getElementById('heading').innerText = makeid();
  });

  // method to change text
  function makeid()
  {
    var text = "";
    var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

    for( var i=0; i < 5; i++ )
        text += possible.charAt(Math.floor(Math.random() * possible.length));

    return text;
  }

})();

```

```服务器端

**// Setup basic express server
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('../..')(server);
var port = process.env.PORT || 7000;



server.listen(port, function(){
  console.log('Server listening at port %d', port);
});

// Routing
app.use(express.static(__dirname + '/myapp'));

// method from server
setInterval(function(){
  io.emit('player trigger');
  console.log('io.emit:)');
}, 5000);

```

【问题讨论】:

    标签: javascript android html5-video


    【解决方案1】:

    这是一种预期的行为,没有办法让它按照你想要的方式工作。

    在移动设备上,设计上只有用户操作才能开始视频和音频播放。这意味着必须在点击处理程序中调用video.play();(不过您可以在处理程序中使用setTimeout)。

    这是为了限制不需要的数据传输以避免不必要的成本。 在this article 中了解更多信息。

    【讨论】:

      猜你喜欢
      • 2021-11-27
      • 1970-01-01
      • 1970-01-01
      • 2012-08-10
      • 2016-07-17
      • 1970-01-01
      • 2013-03-17
      • 1970-01-01
      • 2013-02-21
      相关资源
      最近更新 更多