最近在学习视频相关的知识,现在也是在按部就班的一步步的来,如果有同样需求的同学可以跟着大家一起促进学习。

上一节说到了可以使用系统播放器以及浏览器播放本地以及网络视频,但是这在很大程度上并不能满足我们的需求,幸好,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

最新文章

  1. 理解 Neutorn LBaaS - 每天5分钟玩转 OpenStack(120)
  2. mysql主从复制实现数据库同步
  3. python urllib
  4. 转: 在创业公司使用C++
  5. Spark on Yarn
  6. html弹出div弹窗
  7. 一个简单的AJAX实例
  8. http://docwiki.embarcadero.com/RADStudio/XE7/en/Delphi_Data_Types
  9. IT技术方案最佳实践方案的收集
  10. web项目的两个创建形式website和webapplication(转)
  11. Why Does Everyone Else Appear to Be Succeeding?
  12. ydoc 参考系列
  13. DBMS_RLS包实现数据库表中的行级安全控制
  14. 基类中定义的虚函数在派生类中重新定义时,其函数原型,包括返回类型、函数名、参数个数、参数类型及参数的先后顺序,都必须与基类中的原型完全相同 but------> 可以返回派生类对象的引用或指针
  15. BZOJ 3672: [Noi2014]购票( 树链剖分 + 线段树 + 凸包 )
  16. 引用 RAM和ROM和Flash ROM的区别
  17. JavaScript 的注释和快捷键
  18. 深度学习之Batch Normalization
  19. 牛客网:将两个单调递增的链表合并为一个单调递增的链表-Python实现-两种方法讲解
  20. Linux centos ansible

热门文章

  1. 在 Oracle Linux 上使用 DTrace
  2. 使用maven时,如何修改JVM的配置参数;maven命令执行时到底消耗多少内存?
  3. [Jexus系列] 一、安装并运行 Jexus
  4. cisco PIX
  5. C#程序如何把窗体文件从从一个项目中复制到另一个项目
  6. 【BLE】CC2541之自己定义长短按键
  7. Linux---有关dig命令的有用脚本
  8. SSLStrip 终极版 —— location 瞒天过海
  9. docker init 起步
  10. iOS中.pch文件怎样使用