Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML5播放速率和Firefox_Javascript_Jquery_Html_Firefox_Html5 Video - Fatal编程技术网

Javascript HTML5播放速率和Firefox

Javascript HTML5播放速率和Firefox,javascript,jquery,html,firefox,html5-video,Javascript,Jquery,Html,Firefox,Html5 Video,我有一个带有HTML5视频播放器的页面。我使用jQuery创建了一个非常简单的播放速度切换按钮 用户单击该按钮,每次按下该按钮,视频播放速率属性的速度将乘以2。 所以你可以从1x到2x,4x,8x,16x,32x,64x,128x。。。等等 然而,在Firefox中,我的页面上的视频播放速率从未超过5倍 一旦播放速率为4,脚本将其乘以2,它就会变成5(而不是8) 在Google Chrome中测试同一页面时不会出现此问题 这是我的剧本: $('#change_speed').click(func

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

用户单击该按钮,每次按下该按钮,视频播放速率属性的速度将乘以2。

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

然而,在Firefox中,我的页面上的视频播放速率从未超过5倍

一旦播放速率为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。我在倍增后破发,回放率是5

如果是1,则乘数返回2。如果是2,则乘数返回4。如果是4,乘数返回5。。。什么

在Chrome中,速度保持翻倍。为什么Firefox的上限是5?我错过什么了吗?

大多数浏览器停止播放0.5和4的播放速率范围之外的音频,而让视频保持静默播放。因此,对于大多数应用程序,建议将范围限制在0.5到4之间


编辑:每个浏览器处理超出此推荐范围的移动的方式不同。Firefox恰好钳制了从0.5到5的值范围。从0.5到16的铬夹。如果超出建议的范围,所有浏览器的行为都会有所不同,因此我建议在代码中将其限制为4x。

感谢您提供的源代码和帮助。我知道这个问题很久以前就得到了回答,但我觉得答案并不能解释为什么Firefox会出现5x上限(可能通过MDN链接除外)。普列特涅夫的回答非常准确,并且直接引用了代码。尽管如此,富兰克林关于音频的回答是正确的——我只是觉得它没有直接回答这个问题。我将补充一点关于firefox如何处理超出推荐范围的值的小技巧。