android视频加速播放
最近公司做的项目中有一个这样的需求,当我的APP通过蓝牙连接跑步机的时候,需要和跑步机同步的播放频。而且跑步机上边的调节速度按钮,可以同步的使APP视频的播放速度同步的加快,这样的来达到模拟场景跑步速度的加快。最开始的解决方案,使用android原生的VideoView控件,非常轻松的就实现了跑步播放视频的功能,可是怎么控制速度呢,找来找去发现实现不了(那位大神可以做到,可以给我留言,学习学习).后来又找了几个其他的播放框架,发现大多数都是通过自定义android原生的来实现的播放,同样的不能实现调整播放速度。最后想到干脆终极的解决方案吧,FFmpeg吧,可惜好无奈啊,宝宝现在C语言还只是初步。哎!最后在网上看到两个基于FFmpeg开发的视频框架,可以解决这个问题。就是大名鼎鼎的Vitamio和VLC.最后我选择了Vitamio,因为这个的资料多一些。朋友们也可以去github看看VLC怎么做。这里提醒一下,使用Vitamio需要到官网去下载最新的5.2版本。因为github的4.0版本bug太多,而且不支持64位架构的处理器。还不支持android6.0.直接来看看我怎么做的吧
第一步:去官网下载最新的依赖包和demo。中间那个initActivity就是我们所需要的依赖。
第一步:导入我们的工程吧。import Module.
什么?报错了,别慌,让我们制定编译的SDK版本。
修改一下我们的版本,点击一下 Try Again.重新编译一下,就通过了。
第二步:依赖到我们的项目中:看到最后一步就算成功了。
第三步:开始编写我们的代码吧
package demo.cdy.com.myvitamiodemo;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;import io.vov.vitamio.MediaPlayer;
import io.vov.vitamio.Vitamio;
import io.vov.vitamio.widget.MediaController;
import io.vov.vitamio.widget.VideoView;public class MainActivity extends AppCompatActivity implements MediaPlayer.OnErrorListener {private VideoView videoView;private MediaController mMediaController;private MediaPlayer mPlayer;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//第一步注册Vitamio.isInitialized(getApplicationContext());//初始化我们的控件,注意使依赖包的,不是android原生的。videoView = (VideoView) findViewById(R.id.videoView);//实例化控制器mMediaController = new MediaController(this);videoView.setMediaController(mMediaController);//绑定控制器videoView.setVideoQuality(MediaPlayer.VIDEOQUALITY_HIGH);//设置播放画质 高画质videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {@Overridepublic void onPrepared(MediaPlayer mMediaPlayer) {// optional need Vitamio5.2//视频预处理完成后回掉,设置播放速度mPlayer = mMediaPlayer;//mMediaPlayer的setPlaybackSpeed方法控制视频的播放速度。数值从e.g. 0.8 or 2.0, default to 1.0, range in [0.5-2]mMediaPlayer.setPlaybackSpeed(1.0f);}});videoView.setVideoPath("http://www.midea.com/video/masvod/public/2015/02/28/20150228_14bcec18032_r1_800k.mp4");//设置错误回掉videoView.setOnErrorListener(this);}@Overridepublic boolean onError(MediaPlayer mp, int what, int extra) {return false;}
}
看效果图:
最后说名一下:播放速度的控制使是通过
mMediaPlayer.setPlaybackSpeed(1.0f);
来控制的。我们在setOnPreparedListener回掉方法中,把这个MediaPlayer对象给拿出来。以后调节速度就可以自己写按钮通过这个mPlayer对象来随时随地的控制了。
是不是很方便呢,大家如果有更好的更简洁的办法请留言哦,因为这个依赖包实在太大了,足足压缩之后apk将会增加10M。期待更简洁的办法。
android视频加速播放相关推荐
- java 音频倍速播放_如何让视频加速播放
当下的视频工作者越来越多,很多人在闲暇时间也会制作一些好玩有趣的短视频上传一些社交媒体.下面分享一个让视频加速播放的软件以及制作方法,学会这个方法后,可以制作一些有趣的加速视频啦!一起来看看吧. 具体 ...
- 百度网盘网页视频加速播放
百度网盘网页视频加速播放 按F12进入开发者模式 然后在consolesole输入这个: videojs.getPlayers("video-player").html5playe ...
- Edusoho网校对接阿里云视频vod实现CDN云视频加速播放OSS
操作系统: Linux 推荐使用Ubuntu,CentOS Web服务器: 推荐Nginx或Apache2 MYSQL数据库: 推荐5.5及以上版本 主要文件目录结构说明 目录 说明 App 应用程序 ...
- android 视频+音频播放器Demo
程序主界面 MainActivity.java 1.主界面,头部是两个TextView(自定义类似指针效果),底部是ViewPager.ViewPager中每个页面对应的是一个Fragment.这样就 ...
- 视频加速播放插件-Global Speed
有时候我们觉得看视频的过程中视频播放的太慢了,希望能够加快一点播放的速度,谷歌浏览器里面有很多有意思的插件.例如Global Speed就可以控制视频播放的速度. 1.打开谷歌浏览器,输出商店扩展应用 ...
- Android视频边播放边缓存的代理策略之——AndroidVideoCache
简介 AndroidVideoCache是国外大神Alexey Danilov写的一个android开源库.一个视频/音频缓存库,利用本地代理实现了边下边播,支VideoView/MediaPlaye ...
- Android视频音乐播放SeekBar和播放时间同步
方案一:使用handler控制SeekBar和时间,以视频为例 布局文件XML <RelativeLayout android:id="@+id/video_layout"a ...
- 网页在线视频--加速播放
使用google浏览器,观看html5视频想要加速的话,在console里输入以下代码,然后执行: 使用jq插件的: $("video").playbackRate=2; 没有jq ...
- 浏览器中百度云网盘的视频加速播放
方式有两种: 1.下载最新版的Firefox浏览器,在播放的视频中右击,就可以看到播放速度的选项 2.可以下载插件,我还是在Firefox中下载的插件:Firefox的插件市场网址: https:// ...
- android视频恢复播放器,AndroidVideoPlayer在线播放视频
AndroidVideoPlayer在线播放视频 AndroidVideoPlayer在线播放视频,自定义SuperVideoPlayer里面封装了startPlayVideo()播放视频 loadA ...
最新文章
- 红帽linux终端快捷键,二、回忆redhat各种基本命令
- Softmax到AMSoftmax(附可视化代码和实现代码)
- Tokyo Tyrant(TTServer)系列(三)-Memcache协议
- cve 爬虫_好用的Google漏洞爬虫:Google Mass Explorer
- PTA —— 基础编程题目集 —— 编程题 —— 7-1 厘米换算英尺英寸 (15 分)
- 美团工程师回应“频繁定位”:常用App权限开启时检测结果基本一致
- kernel32.dll已加载但找不到入口点_关键词分析法和工具,关键词分析包括哪几个方面(已帮助1376人)...
- 计算机算法设计与分析 最大子段和问题
- 为程序员节省时间的习惯
- MySQL学习笔记15:触发器
- 给VS2008中c#代码自动添加版权信息
- python怎么用input输入列表_Python - 根据列表内容验证用户输入的最佳方法是什么?...
- 张朝阳建议年轻人不要努力过头,要现实点,网友:不拼搞不好就被裁了
- python使用requests库爬取淘宝评论
- python中如何画出决策树_python画决策树
- Win10任务栏卡死解决方案
- 辗转相除法——求最大公约数
- c语言顺序线性表的实现
- w3cschool菜鸟教程离线版chm手册正式发布
- Python课程第十一天_下午_课程笔记(包和模块)