我已尝试将 videoJs 添加到我的站点以播放 MP4 文件,所有这些在 Chrome 中都可以完美运行,但是当我转到 Firefox(不支持 MP4 文件)时,Flash 播放器停留在黑屏上并且按钮什么都不做。
简单的问题:为什么? 我不明白,像 vine.co 或 instagram 这样的网站使用 videoJs 没有问题,但对我来说情况并非如此。
所以我尝试改变技术顺序,现在 Flash 总是尝试阅读视频,但即使在 chrome 上也没有任何附加内容。
这是我的测试代码:
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'></script>
<script src="http://vjs.zencdn.net/4.0/video.js"></script>
<script>
videojs.options.flash.swf = "video-js.swf"
</script>
</head>
<body>
<video id="video" src="http://domain.com/flash/video.mp4" control></video>
<script type="text/javascript">
jQuery(function() {
var player = videojs('video', {"controls": true, "autoplay": false, "preload": "auto", "techOrder": ["flash", "html5"]});
console.log(player);
});
</script>
</body>
</html>
所有文件(swf 播放器、MP4 视频和 html 文件)都在名为“flash”的同一文件夹中。
你能帮帮我吗?
最佳答案
这里有一些尝试:
- 确保您正在加载 video-js css 文件。
- 按此处所述将“video-js”和外观类添加到您的视频对象(另外,它是“控件”,而不是“控件”):https://github.com/videojs/video.js/blob/0020ba15b9ae2b60e51d4d8d2751ffa31d18694d/docs/guides/setup.md
- 如果您从 CDN 加载视频 js,则无需设置 flash.swf 选项。这也可能导致问题。
您不需要设置 techOrder 来让 Firefox 正常运行,而且您绝对不需要为每种类型的“Tech”提供相应的视频文件。 Flash 将在 mp4 中播放回退,只要它高于版本 9 左右。
我在 Firefox 上确实遇到了一个问题,当我包含一个“就绪”事件时,Flash 回退会播放视频,但视频会是空白的(音频会播放)。我能够通过在 $(this) 对象上触发模糊事件来解决这个问题。如果您需要使用 ready,这可能对您有所帮助。
关于javascript - 使用 Firefox 时 VideoJs 的闪退问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17644444/