0

我正在尝试提供视频播放列表,并且仅在单击其链接后才播放视频。这是我的代码:

<!DOCTYPE html>
<html lang="en">
<head>
<title>WW Video Player</title>
<link href="http://vjs.zencdn.net/4.0/video-js.css" rel="stylesheet">
<script src="http://vjs.zencdn.net/4.0/video.js"></script>
</head>
<body>
<video id="video_player" class="video-js vjs-default/skin" width="800" height="600" data-setup='{ "controls": true }'></video>

<script type="text/javascript">
    videojs("video_player", {}, function() {});

    function SelectVideo(path)
    {
        var mplayer = videojs("video_player", { "controls": true, "autoplay": false });
        mplayer.src({ type:"video/mp4", src: path});
        mplayer.play();
        mplayer.requestFullScreen();
    }
</script>

<a href="#" onclick="SelectVideo('/path/file.mp4'); return false;">Play Video</a>

</body>
</html>

<video>标签中,我尝试添加 plaincontrols和 remove data-setup,但无法显示控件。

此外,mplayer.requestFullScreen();也不起作用 - 这是 Firebug 的错误消息:

TypeError: mplayer.requestFullScreen is not a function

我在 Windows 7 64 位上运行 Firefox 22.0。

有任何想法吗?谢谢!

4

2 回答 2

2

我找不到这个问题的答案或找到解决方法,所以我尝试了其他玩家。

这个做了我想要的一切,并且有一个内置的播放列表功能(这是我需要的,也是可能导致我的问题开始的原因),所以这就是我改用的:

科多播放器

于 2013-07-12T20:59:25.713 回答
0

Video.js 有好有坏。我很欣赏它所做的工作,但我花了几天时间让它正常工作。我希望我早点找到你的答案,codoplayer 看起来不错。

每当发生 javascript 错误时,Videojs 就会出错,随后无法在控制栏等上设置正确的类。

坏的 javascript 可能在您自己的代码中,并且 video.js 中有一个会影响 Firefox。

首先,确保您自己的脚本没有失败...

video.js中必须改的函数是:vjs.Player.prototype.techGet()

当发生异常时,它会处理它,然后在最后重新抛出。替换行'throw e;' '返回空值;'

为什么?video.js 中的某些方法似乎没有意识到 techGet 可以抛出.. 这是一个示例:

vjs.Player.prototype.currentSrc = function(){
  return this.techGet('currentSrc') || this.cache_.src || '';
};

只要技术是闪存,它就会在 techGet 上引发异常,这在 Firefox、IE8 等中很常见。它永远不会到达this.cache_.src || ''。看起来这不是故意的,所以它可能是一个错误。

如果对 IE8 感兴趣,您将不得不对所有对 innerHTML 的调用做一些事情,它们可能会失败并且需要替换为适用于 DOM 的方法。

于 2014-11-02T13:18:56.230 回答