3

我在我的项目中使用 JW Player,其中包含许多格式的视频:MP4、FLV、OGV、WMV

我阅读了每个浏览器支持的不同格式的文档。所以,现在我使用 MP4(Chrome、Safari)、FLV(IE、7、8、9)和 WEBM(Mozilla)。

jwplayer('container').setup({
                height: 309,
                width: 549,
                levels: [
                    { file: "video.mp4" },
                    { file: "video.webm" },
                    { file: "video.flv" }
                ], 
                'modes': [
                    {type: 'html5'},
                    {type: 'flash', src: "jwplayer.flash.swf"},
                    {type: 'download'}
                ]
});

我的问题是,如果此代码执行:检查浏览器是否支持 HTML5 或 FLASH -> 取决于浏览器自动重现 MP4(Chrome - Safari)或 FLV(IE)或 WEBM(Mozilla)。

因为,尤其是在 mozilla 中,我第一次收到消息:“错误加载媒体:无法播放文件”。然后当我单击 2 或 1 次时,播放视频。

也许这发生在文件的顺序上?


更新

我更改了 mime.conf 设置和 .htaccess,添加了以下几行:

注意:我在 Codeigniter 项目中使用 Drupal 的 .htaccess

.ht 访问:

#
# Apache/PHP/Drupal settings:
#

#For disable gzip
SetEnvIfNoCase Request_URI \.(og[gv]|mp4|m4v|webm)$ no-gzip dont-vary

#For add mime types
AddType video/ogg  .ogv
AddType video/mp4  .mp4
AddType video/webm .webm
[...]

哑剧配置文件

#
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
#AddType application/x-gzip .gz .tgz
AddType application/x-bzip2 .bz2
AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/webm .webm

我禁用了 gzip 压缩,但问题仍然存在。只有我的应用程序进入 facebook 的 iframe 导致视频 webm 失败。MP4 工作正常。


更新 2

这里的问题是 Twitter Bootstrap。我用它来显示模态。在显示带有视频的模态之前,我将 cookie 保存在浏览器中。

当我将视频放入模态时,视频无法播放。当我点击 2 次视频时,该视频播放。仅在 Mozilla Firefox 中;Chrome,IE 7-8-9 工作正常。

当我把视频放在模态框里时。这在所有浏览器中都能正常播放。

对不起我的英语不好。

4

1 回答 1

3

由于通过查看您的链接,我已经能够确定您现在使用的是 JW6,而不是 JW5,您应该使用不同的代码。

这段代码:

jwplayer('container').setup({
                height: 309,
                width: 549,
                levels: [
                    { file: "video.mp4" },
                    { file: "video.webm" },
                    { file: "video.flv" }
                ], 
                'modes': [
                    {type: 'html5'},
                    {type: 'flash', src: "jwplayer.flash.swf"},
                    {type: 'download'}
                ]
});

相反,应该看起来像这样,例如:

jwplayer('container').setup({
                height: 309,
                width: 549,
                playlist: [{
                sources: [
                    { file: "video.mp4" },
                    { file: "video.webm" },
                    { file: "video.flv" }
                ]
                }]
});

这是因为在 JW6 模式中被移除,HTML5 已经是主要模式,而“l​​evels”被“sources”取代。

这是一个迁移文档 - http://www.longtailvideo.com/support/jw-player/28834/migrating-from-jw5-to-jw6

在 jw6 中使用多个文件的示例在这里 - http://www.longtailvideo.com/support/jw-player/29251/mp4-and-webm-formats

于 2013-01-24T21:25:59.827 回答