倍速播放

倍速播放几乎是现在主流的视频App必备功能,最近播放器又在加需求了,顺便研究了一下。其实也简单,EXOplayer底层已经提供了方法,只需调用即可,比较简单,直接扔代码:

SimpleExoPlayer simpleExoPlayer = this.getExoPlayer();
if(simpleExoPlayer != null) {PlaybackParameters playbackParameters = new PlaybackParameters(speed, 1.0F);simpleExoPlayer.setPlaybackParameters(playbackParameters);
}

PlaybackParameters源码如下:

package com.google.android.exoplayer2;/*** The parameters that apply to playback.*/
public final class PlaybackParameters {/*** The default playback parameters: real-time playback with no pitch modification.*/public static final PlaybackParameters DEFAULT = new PlaybackParameters(1f, 1f);/*** The factor by which playback will be sped up.*/public final float speed;/*** The factor by which the audio pitch will be scaled.*/public final float pitch;private final int scaledUsPerMs;/*** Creates new playback parameters.** @param speed The factor by which playback will be sped up.* @param pitch The factor by which the audio pitch will be scaled.*/public PlaybackParameters(float speed, float pitch) {this.speed = speed;this.pitch = pitch;scaledUsPerMs = Math.round(speed * 1000f);}/*** Scales the millisecond duration {@code timeMs} by the playback speed, returning the result in* microseconds.** @param timeMs The time to scale, in milliseconds.* @return The scaled time, in microseconds.*/public long getSpeedAdjustedDurationUs(long timeMs) {return timeMs * scaledUsPerMs;}@Overridepublic boolean equals(Object obj) {if (this == obj) {return true;}if (obj == null || getClass() != obj.getClass()) {return false;}PlaybackParameters other = (PlaybackParameters) obj;return this.speed == other.speed && this.pitch == other.pitch;}@Overridepublic int hashCode() {int result = 17;result = 31 * result + Float.floatToRawIntBits(speed);result = 31 * result + Float.floatToRawIntBits(pitch);return result;}}

ExoPlayer实现倍速播放功能相关推荐

  1. html5播放器视频倍速播放功能

    阿酷TONY 2021-3-24 1. 倍速播放功能可以让视频加速或者减速播放: 2. 在PC端,HTML5播放器能轻松实现倍速播放功能,您可以将视频的播放速度设定为0.5倍,1倍(正常速),1.2倍 ...

  2. 超级简单的工具——Video Speed Controller,玩转百度云,轻松解锁百度云视频倍速播放功能!

    有经常使用百度云盘看视频需求的小伙伴肯定清楚百度的niao性,如果我们不是人民币玩家,咱就不配享用人家的在线视频倍速播放功能.Emm- 今天给大家分享一个十分简单的工具--Video Speed Co ...

  3. Uni-app Video倍速播放功能

    Uni-app Video倍速播放功能 前言 使用 代码 前言 今天接到一个给播放器新增倍速播放的功能:因为用的是uniapp自带的video,这里面没有倍速播放这个选项.然后在官方文档找了一会儿,找 ...

  4. 酷播云H5播放器倍速播放功能

    大家好,我是小酷,小酷今天来说说H5播放器倍速播放功能: 酷播云是支持HTML5播放器及Flash播放器,两者兼容,可自由切换.其中,H5播放器自带倍速播放功能,用户可选择视频的播放速度. 酷播云Ht ...

  5. html5视频倍速播放功能

    h5视频倍速播放功能(视频多倍速观看功能的实例) 写倍速播放器代码的原理,采用的是video的playbackRate属性 ( playbackRate 属性设置或返回音频/视频的当前播放速度). 主 ...

  6. 音视频之使用sonic.cpp实现音频倍速播放功能

    sonic.cpp 是一个音频处理库,可以实现倍速播放. 如果单纯通过修改pcm的采样率来实现音频倍速播放的话,就会出现声音变调的情况. 以下是通过采集windows 虚拟声卡获取到的音频数据, 我的 ...

  7. android 客户端倍速播放,Android MediaPlayer 在 6.0 以上版本使用倍速播放功能说明

    public class FloatingPopupWindow implementsSurfaceHolder.Callback {//弹窗宽度 private static final int P ...

  8. android最近播放功能,Android MediaPlayer倍速播放功能

    Android MediaPlayer在API 23即6.0以上支持了设置播放速率. 下面将介绍怎么使用这个功能. 接口 MediaPlayer.setPlaybackParams(PlaybackP ...

  9. 针对Android平台播放器开源库NiceVieoPlayer倍速的开发

    Android平台的视频开源库可谓百花齐放,直接给出比较流行的几大框架github地址:https://github.com/search?l=Java&o=desc&q=ExoPla ...

最新文章

  1. 那个曾经为美国NASA开发火星大脑的AI公司,现在和华为合作了
  2. 宏碁e5572g57mx加固态_宏基e5572g57mx怎么拆机
  3. 参数匹配模型——Python学习之参数(二)
  4. Angular(build打包)报错:supplied parameters do not match any signature of call target
  5. html中使用静态图片做一个csdn网站的首页
  6. vc给exe更改图标
  7. linux的文件 I/O操作
  8. java8 list 去重_Java8中的Stream,一行代码,让集合操作飞起来
  9. AD原理图编译WARNING:Net XXX has no driving source
  10. mysql日期维表sql文件_《MySQL必知必会》笔记(SQL练习+建表语句)
  11. PHP图像处理:3D图纸、缩放、回转、剪下、水印(三)
  12. python网络爬虫系列教程——python网络数据爬虫误区,让你的爬虫更像人类
  13. linux 安装sz,linux中rz、sz命令的安装配置方法
  14. Visual FoxPro操作dbf时语句过长换行问题
  15. [高项]假设情景分析VS假设分析
  16. 走进量子计算的大门——使用量桨PaddleQuantum创建单量子比特门
  17. 【Filecoin周报-62】倒计时1天,太空竞赛准备怎么样了?
  18. 耶鲁大学的心态 ,送给正在奋斗的人!
  19. 数据爬取遇到EventStream是个什么东西?EventSource与websocket有何区别?Java后台如何获取爬取数据并入库?EventStream后台服务怎么写?
  20. 开发者说:深度剖析开源分布式事务方案 Seata 的事务协调器

热门文章

  1. 薪酬管理系统的作用是什么?
  2. 【最实用的chrome插件】CSDN 浏览器插件:CSDN 开发者助手(测评手册2)
  3. 32bit的无符号数字中1的个数
  4. net 服务端接口 存储,发送 app短信验证码
  5. 幼儿园计算机课件制作评比表,课件评比活动方案.doc
  6. Sorting(sort排序)
  7. 负载均衡的动态算法和静态算法
  8. VScode下载速度太慢
  9. 门诊住院发票在线OCR识别,测试效果及体验链接
  10. 分布式事务解决方案之RabbitMQ