揭秘视频网站video视频倍速播放的实现

这篇文章发布于 2018年07月14日,星期六,14:20,归类于 HTML相关。 阅读 56457 次, 今日 12 次 16 条评论

 

一、关于视频倍速播放

B站,或者腾讯视频等主流视频网站视频现在都支持倍速播放功能。

B站视频播放速度调节

腾讯视频倍速播放

这个功能对于当下快节奏的生活而言,是很有用的,说夸张点是延长了我们的生命,哈哈哈。

对于一个靠技术吃饭人,总免不了关注点在技术实现上,究竟是如何实现的呢?且看~

二、HTML5 video视频倍速播放的实现

当当当当,实现其实很简单,使用playbackRate属性控制下就好了。

playbackRate属性是个可读写的控制音视频播放速率的属性。

语法如下:

// 视频获取速率
var videoSpeed = video.playbackRate;
// 视频设置播放速率,如正常速度播放
video.playbackRate = 1.0;
// 获取音频播放速率
var audioSpeed = audio.playbackRate;
// 音频设置播放速率,如正常速度播放
audio.playbackRate = 1.0;

倍速播放控制简易demo

您可以狠狠地点击这里:HTML5 video视频playbackRate倍速播放demo

例如,我们下拉选择2.0倍速,然后点击下面的播放按钮:

倍速播demo操作示意

就可以看到土味视频效果了。

2倍速土味视频效果实现

相关代码如下:

var select = document.querySelector('select');
var button = document.querySelector('button');
// 视频元素
var video = document.querySelector('video');
// 改变播放速率
select.addEventListener('change', function () {
    video.playbackRate = this.value;
});
// 点击播放按钮
button.addEventListener('click', function () {
    video.play();
});

其实关键代码就下面这一行:

video.playbackRate = this.value;

是不是简单得有点超乎想象了呢?

三、结束语

倍速播放是HTML5 video视频播放天然支持功能,因此,视频网站通常倍速播放只在HTML5视频播放器中支持,传统的flash播放器没有这个功能,例如爱奇艺视频:

爱奇艺HTML5视频倍速播放 爱奇艺flash视频无倍速播放

夏日炎炎,就这些,一个技术小tips,希望能够让你有所收获。

感谢阅读,欢迎交流!

(本篇完)

分享到:


发表评论(目前16 条评论)

  1. 羊羊羊说道:

    如果流媒体是hls的呢?麻烦问一下m3u8的流如何加速播放呢?

  2. aprailday_wu说道:

    这个的兼容性不是很好呀

  3. chengguoqing说道:

    您好,从百度上搜这个问题竟然直接看到这个解答,非常感谢!
    目前在实际操作中出现了在手机浏览器大部分版本中是无法使用该加速方式加速的,比如QQ浏览器、UC浏览器、手机自带浏览器等,求教!

  4. weapon张说道:

    你引用的视频是否获得了主人公的肖像授权?

  5. xxx说道:

    Flash 也有类似的API,但没人用罢了。

  6. 小书匠说道:

    …我以为大家都知道这个了…没想到还有专门文章出来了

  7. LYC说道:

    转载的书面许可怎么获得

  8. falost说道:

    其实这个功能 flash 也是可以有的哦

  9. 阿托说道:

    学习了

  10. 流川枫说道:

    谢大佬

  11. 说道:

    各种新奇,从订阅张鑫旭开始