android视频播放器系列(二)——VideoView
最近在学习视频相关的知识,现在也是在按部就班的一步步的来,如果有同样需求的同学可以跟着大家一起促进学习。
上一节说到了可以使用系统播放器以及浏览器播放本地以及网络视频,但是这在很大程度上并不能满足我们的需求,幸好,android系统为我们提供了一个很方便的系统API——VideoView,来支持我们进行更加方便的操作。
VideoView提供了不错的API支持,提供了视频播放的基本方法,主要方法如下:
start():开始播放
pause():暂停播放
resume():恢复
getDuration():获取视频的长度
getCurrentPosition():获取当前播放的位置
seekTo(int msec):单位毫秒,跳转到对应位置
isPlaying():是否正在播放
setVideoURI(Uri uri):设置播放源
setVideoPath(String path):设置播放源
setOnPreparedListener(MediaPlayer.OnPreparedListener l):监听视频资源装载完成
setOnCompletionListener(OnCompletionListener l):监听视频播放完成
setOnErrorListener(OnErrorListener l):监听视频播放出错
当然,这些都是关于视频播放的基本操作,android系统还提供了相应的视频控制API——MediaControllder,将其与VideoView结合就可以对视频播放进行控制,调用
VideoView.setMediaController(MediaController controller)即可,这样可以控制视频播放、暂停、快进、快退、上一个、下一个以及拖动快进等等功能,关于MediaController有俩个方法比较重要:
isShowing():控制栏是否显示
setPrevNextListeners(View.OnClickListener next, View.OnClickListener prev):上一个下一个监听器
其中有一个细节是默认情况下上一个、下一个按钮是隐藏的,只有设置了上一个下一个监听器之后才显示,看源码可知:

必须设置了相应的监听器才会显示。
以下是VideoView使用的小案例:

借鉴:http://www.jianshu.com/p/98a10353494c
android视频播放器系列(二)——VideoView的更多相关文章
- android视频播放器系列(一)——系统播放器
使用系统播放器(intent隐士调用)可以播放本地视频和网络视频,但是使用方式上稍微有点差别: 一.播放本地视频 Uri uri = Uri.parse("本地视频地址");Int ...
- Android 视频播放器 (二):使用MediaPlayer播放视频
在 Android 视频播放器 (一):使用VideoView播放视频 我们讲了一下如何使用VideoView播放视频,了解了基本的播放器的一些知识和内容.也知道VideoView内部封装的就是Med ...
- Android 视频播放器切换到下个视频时残留上个视频画面的解决办法
最近在做一个Android视频播放器,遇到一个问题:切换到下一个视频时,中间会停留上一个视频的残存画面. 这是怎么回事? 我在网上找了很多资料,终于找到了原因:我是用自定义一个surfacev ...
- android视频播放器开发
http://blog.csdn.net/u010181592/article/details/49301703 http://blog.csdn.net/qq_33291295/article/de ...
- Android开发学习之路--基于vitamio的视频播放器(二)
终于把该忙的事情都忙得差不多了,接下来又可以开始good good study,day day up了.在Android开发学习之路–基于vitamio的视频播放器(一)中,主要讲了播放器的界面的 ...
- Android 视频播放器 NurVideoPlayer ()
我在实战项目中用了它. 更新了2.x.x版本ijkplayer的封装 支持屏幕滑动--滑动时间,亮度,声音,进度,支持全屏-单屏,双击暂停--继续,锁定屏幕,支持HTTP和https,也可以控制声道( ...
- android视频播放器
RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学.网景和RealNetworks公司提交的 ...
- 开源的Android视频播放器
之前尝试自己解码视频,然后播放显示,虽然音视频都可以播放,但是实现不了音视频的同步,所以使用第三方的视频库Vitamio来实现视频播放器功能,这样自己只需要实现播放解码的制作不不要关心底层解码和显示问 ...
- Android 视频播放器 (一):使用VideoView播放视频
一.简介 作为Android开发,我们不可避免的会接触到视频播放,VideoView做为最简单的播放器,我们是不应该不会的. 下面简单介绍一下VideoView: VideoView是使用MediaP ...
随机推荐
- 中高级前端应该必会,js实现事件委托代理、切换样式、元素获取相对于文档位置等
1.介绍 随着组件开发大流行,现在三大框架已经基本占领了整个前端. 这时候,我们要是引入一个 jq 是不是先得你的项目非常臃肿,jq 也很不适合. 这个时候,你就需要来增加你 js 的功底. 2.各种 ...
- Mybatis 最强大的动态sql <where>标签
<select id="findActiveBlogLike" resultType="Blog"> SELECT * FROM BLOG WHER ...
- 关于ping以及TTL的分析
首先介绍一下ping这个工具 ping [目标] 的意思就是向目标发送几个数据包,之后假设目标接受到一个数据包.那么目标就会向发送ping的主机返回一个数据包 比方上图.我ping了百度的server ...
- cocos2dx 纹理优化
description: 为什么要谈纹理的问题,游戏的画面无时无刻不充斥着图像,通俗意义上一款精致的游戏都有着非常精美的画面.这样往往能给玩家带来更好的游戏体验,这一点也是对于游戏制作者来说所尽力追求 ...
- JavaScript基础 -- BOM
JavaScript三大核心: 1)核心(ECMAScript):描述了JS的语法和基本对象 2)文档对象模型(DOM):处理网页内容的方法和接口 3)浏览器对象模型(BOM):与浏览器交互的方法和接 ...
- Dagger2----一个最简单的Dagger2依赖的实现
Dagger2是首个使用生成代码实现完整依赖注入的框架,极大降低了使用者的编码负担.Dagger2分析全部依赖并生成代码将这些依赖组织在一起,关于很多其它的Dagger2理论介绍请移步具体解释Dagg ...
- Git经常使用命令总结
Git是一款开源的分布式版本号控制系统,由Linux之父Torvalds用C语言开发. "the stupid content tracker",Git自诩为stupid,却是一个 ...
- UVA 213 Message Decoding 【模拟】
题目链接: https://cn.vjudge.net/problem/UVA-213 https://uva.onlinejudge.org/index.php?option=com_onlinej ...
- git ignore的一些技巧
当想要ignore的部分已经纳入版本控制的时候,可以使用 git rm --cache -rf cache 来强制ignore
- TC SRM 597 DEV2
第一次玩TC的SRM,只完成了一题,有点失落,不过还是要把每个问题都研究清楚才是我的本性,呵呵 第一题思路: 任意一个数,不断除掉2以后的剩下的数若相同则YES否则NO 第二题: 最开始判断字母个数是 ...