繁体   English   中英

HTML5 playbackRate和Firefox

[英]HTML5 playbackRate and Firefox

我有一个带有HTML5视频播放器的页面。 我使用jQuery创建了一个非常简单的播放速度切换按钮。

用户单击该按钮,每按一次,它将视频的playbackRate属性的速度乘以2。

所以你可以从1x到2x,4x,8x,16x,32x,64x,128x ......等等。

但是,在Firefox中,我页面上的视频播放速率永远不会超过5倍。

一旦playbackRate为4,并且脚本将其乘以2 - 它变为5(而不是8)。

在Google Chrome中测试同一页面时,不会发生此问题。

这是我的脚本:

$('#change_speed').click(function()
{
  var current_speed = ($('#video').get(0).playbackRate).toFixed(0);

  console.log('playback speed: ' + $('#video').get(0).playbackRate); //For debugging

  if(current_speed == 0)
  {
     $('#video').get(0).playbackRate = 1;
  }
  else
  {
    $('#video').get(0).playbackRate = $('#video').get(0).playbackRate * 2;
  }

});

我的函数中没有更多代码。 没有其他处理程序或脚本干扰。 我点击按钮,我在乘数之前断开:playbackRate是4.我在乘数后断开,playbackRate是5。

如果它是1,则乘数返回2.如果它是2,则乘数返回4.如果它是4,则乘数返回5. ...什么!?

在Chrome中,速度与预期一致。 为什么它在Firefox中的上限为5? 我错过了什么吗?

来自MDN

大多数浏览器停止在10.5和4的playbackRate界限之外播放音频,使视频静默播放。 因此,建议大多数应用程序将范围限制在0.5到4之间。

编辑:每个浏览器处理此推荐范围之外的处理方式不同 Firefox恰好将值范围设置为0.5到5. Chrome会从0.5到16之间进行限制。如果超出推荐范围,您将在所有浏览器中获得不同的行为,因此我建议将其在代码中加以4倍。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM