Safari 5.1 上的 VideoJS 进度事件始终为 0
Posted
技术标签:
【中文标题】Safari 5.1 上的 VideoJS 进度事件始终为 0【英文标题】:VideoJS progress event always 0 on Safari 5.1 【发布时间】:2014-02-22 17:50:36 【问题描述】:在使用 VideoJS 播放视频时,我在 Safari 5.1 上遇到了这种奇怪的行为:
如果我收听进度事件:
var player = videojs('player_id',
preload: 'auto'
techOrder: [ 'html5' ]
);
player.on( 'progress', on_progress );
player.ready( function() player.play() );
我只会在回调中得到值 0:
function on_progress( event )
console.log( 'buffered', player.bufferedPercent() );
// it will log always 0
注意事项:
我只能使用html5播放器
我正在使用 mp4/h264 视频并回退到 webm 和 ogv
代码适用于 Chrome、Firefox 和最新的 Safari
有什么想法吗?
【问题讨论】:
上面的代码(添加逗号的小修正)在 Safari 中对我来说很好用。这是一个有效的JSBin example。 对不起@MattMcClure,我忘了提到Safari 版本:它是5.1。而且您的示例在该浏览器中根本不起作用。不幸的是,即使是那个旧版本,我也需要让它工作。 我评论了您在下面发布的答案,但您对 Windows 版 Safari 不走运:( 【参考方案1】:其实我试了好几个视频播放器,好像没有人支持Safari 5.1。
这些是我尝试过但没有运气的库:
http://www.videojs.com/
http://www.jwplayer.com/
http://jplayer.org/latest/demo-01-video/
http://flowplayer.org/
http://www.projekktor.com/
即使http://caniuse.com/#search=video 表示 Safari 5.1 支持 html5 视频,但事实并非如此。
【讨论】:
您指的是 Safari 5.1 for Windows 吗?这是一个已知问题(我知道这非常令人沮丧),但好消息是 Safari for Windows 是一个已死的项目,使用量很小而且正在减少。 @MattMcClure 不,不幸的是,我正在谈论适用于 OSX 的 Safari 5.1。即使在那里也不工作以上是关于Safari 5.1 上的 VideoJS 进度事件始终为 0的主要内容,如果未能解决你的问题,请参考以下文章