【问题标题】:Trying out HTML video tag, nothing happens尝试 HTML 视频标签,没有任何反应
【发布时间】:2013-02-06 17:23:20
【问题描述】:

好的,我正在尝试 HTML5,看看使用视频标签是多么容易。

事实并非如此。

<html>
    <head>
    </head>
    <body>
        <video id="vid" poster="Rick-Roll3.png" width="640" height="480" controls autoplay>
            <source src="rick.webm" type="video/webm" />
        </video>
    </body>
</html>

我已经写出了上面的文件并保存为 .html 文件。但是,由于某种原因,它不起作用。不会播放任何视频。

但是,如果我使用这个来源而不是它指向的视频会播放

<source src="http://v2v.cc/~j/theora_testsuite/320x240.ogg" type="video/ogg" />

我知道文件 rick.webm 位于服务器上,与 html 文件位于同一文件夹中。我的 src 路径有问题吗?

【问题讨论】:

  • 您的浏览器是否支持webm?您的控制台中是否出现任何错误?
  • 是的,我正在使用 Chrome。我在控制台中没有看到任何错误。
  • 其实看GET请求好像是因为某种原因被取消了。
  • 如果您发布一些标题,我们可能会为您提供帮助,但您可以缩小范围。
  • Chrome 开发者工具显示:i.imgur.com/sRcCZCI.png

标签: html web path html5-video


【解决方案1】:

Web 浏览器使用部分范围的 HTTP 请求(对于部分内容应返回代码 206)来下载视频元素中的源。您似乎正在运行本地网络服务器或基于您的标题图片的等效服务器,因此您使用的服务器很可能不正确支持此类请求,而托管外部视频的服务器则支持。

我个人使用一个简单的Express(forNode.js)静态文件服务器进行简单的测试,它支持必要的范围请求就好了。就是这么简单:

var express = require("express"),
    app = express();

app.use(express.logger('dev'));
app.use(express.static(__dirname+"/public"));

app.listen(3000);
console.log("Listening on port 3000");

使用 node 运行它,它将在 http://localhost:3000/ 处提供公用文件夹(及其所有子文件夹)的内容。

【讨论】:

  • 这就是问题所在。我将服务器配置为提供 webm 文件,现在可以播放视频。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多