ExoPlayer实现倍速播放功能
倍速播放
倍速播放几乎是现在主流的视频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实现倍速播放功能相关推荐
- html5播放器视频倍速播放功能
阿酷TONY 2021-3-24 1. 倍速播放功能可以让视频加速或者减速播放: 2. 在PC端,HTML5播放器能轻松实现倍速播放功能,您可以将视频的播放速度设定为0.5倍,1倍(正常速),1.2倍 ...
- 超级简单的工具——Video Speed Controller,玩转百度云,轻松解锁百度云视频倍速播放功能!
有经常使用百度云盘看视频需求的小伙伴肯定清楚百度的niao性,如果我们不是人民币玩家,咱就不配享用人家的在线视频倍速播放功能.Emm- 今天给大家分享一个十分简单的工具--Video Speed Co ...
- Uni-app Video倍速播放功能
Uni-app Video倍速播放功能 前言 使用 代码 前言 今天接到一个给播放器新增倍速播放的功能:因为用的是uniapp自带的video,这里面没有倍速播放这个选项.然后在官方文档找了一会儿,找 ...
- 酷播云H5播放器倍速播放功能
大家好,我是小酷,小酷今天来说说H5播放器倍速播放功能: 酷播云是支持HTML5播放器及Flash播放器,两者兼容,可自由切换.其中,H5播放器自带倍速播放功能,用户可选择视频的播放速度. 酷播云Ht ...
- html5视频倍速播放功能
h5视频倍速播放功能(视频多倍速观看功能的实例) 写倍速播放器代码的原理,采用的是video的playbackRate属性 ( playbackRate 属性设置或返回音频/视频的当前播放速度). 主 ...
- 音视频之使用sonic.cpp实现音频倍速播放功能
sonic.cpp 是一个音频处理库,可以实现倍速播放. 如果单纯通过修改pcm的采样率来实现音频倍速播放的话,就会出现声音变调的情况. 以下是通过采集windows 虚拟声卡获取到的音频数据, 我的 ...
- android 客户端倍速播放,Android MediaPlayer 在 6.0 以上版本使用倍速播放功能说明
public class FloatingPopupWindow implementsSurfaceHolder.Callback {//弹窗宽度 private static final int P ...
- android最近播放功能,Android MediaPlayer倍速播放功能
Android MediaPlayer在API 23即6.0以上支持了设置播放速率. 下面将介绍怎么使用这个功能. 接口 MediaPlayer.setPlaybackParams(PlaybackP ...
- 针对Android平台播放器开源库NiceVieoPlayer倍速的开发
Android平台的视频开源库可谓百花齐放,直接给出比较流行的几大框架github地址:https://github.com/search?l=Java&o=desc&q=ExoPla ...
最新文章
- 那个曾经为美国NASA开发火星大脑的AI公司,现在和华为合作了
- 宏碁e5572g57mx加固态_宏基e5572g57mx怎么拆机
- 参数匹配模型——Python学习之参数(二)
- Angular(build打包)报错:supplied parameters do not match any signature of call target
- html中使用静态图片做一个csdn网站的首页
- vc给exe更改图标
- linux的文件 I/O操作
- java8 list 去重_Java8中的Stream,一行代码,让集合操作飞起来
- AD原理图编译WARNING:Net XXX has no driving source
- mysql日期维表sql文件_《MySQL必知必会》笔记(SQL练习+建表语句)
- PHP图像处理:3D图纸、缩放、回转、剪下、水印(三)
- python网络爬虫系列教程——python网络数据爬虫误区,让你的爬虫更像人类
- linux 安装sz,linux中rz、sz命令的安装配置方法
- Visual FoxPro操作dbf时语句过长换行问题
- [高项]假设情景分析VS假设分析
- 走进量子计算的大门——使用量桨PaddleQuantum创建单量子比特门
- 【Filecoin周报-62】倒计时1天,太空竞赛准备怎么样了?
- 耶鲁大学的心态 ,送给正在奋斗的人!
- 数据爬取遇到EventStream是个什么东西?EventSource与websocket有何区别?Java后台如何获取爬取数据并入库?EventStream后台服务怎么写?
- 开发者说:深度剖析开源分布式事务方案 Seata 的事务协调器