Android下VideoView的研究
VideoView继承自SurfaceView,实现了MediaController.MediaPlayerControl的接口。在android系统中的包名为android.widget.VideoView。
VideoView的主要功能是显示一个指定的视频文件。VideoView可以从多个地方载入图片(比如资源或者content provider中)。
VideoView继承了Android.view.View类中的XML属性、常量、和field(我们常翻译成属性)。在VideoView下有三个构造方法:
VideoView(Context context)
VideoView(Context context, AttributeSet attrs)
VideoView(Context context, AttributeSet attrs, int defStyle)
VideoView的公有的方法有:
//这个方法是在API19中才加入的,一般情况下可以不考虑
void addSubtitleSource(InputStream is, MediaFormat format)
//这个方法可以设置视频是否可以暂停。
boolean canPause()
//这个方法设置视频是否可以后退
boolean canSeekBackward()
//这个方法设置视频是否可以前进。
boolean canSeekForward()
//通常是将这个View渲染到canvas上去。
void draw(Canvas canvas)
//这个方法如果错误的话会返回0.
int getAudioSessionId()
//获取缓冲百分比
int getBufferPercentage()
//获取当前的位置
int getCurrentPosition()
//获取播放视频的总时间
int getDuration()
//判断视频是否处于播放状态
boolean isPlaying()
void onInitializeAccessibilityEvent(AccessibilityEvent event) void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) boolean onKeyDown(int keyCode, KeyEvent event) boolean onTouchEvent(MotionEvent ev) boolean onTrackballEvent(MotionEvent ev)
//停止时
void pause()
//取得调整后的尺寸。如果measureSpec对象传入的模式是UNSPECIFIED那么返回的是desiredSize。如果measureSpec对象传入的模式是AT_MOST,返回的将
//是desiredSize和measureSpec对象的尺寸两者中最小的那个。如果measureSpec对象传入的模式是EXACTLY,那么返回的是measureSpec对象中的尺寸大小值。
int resolveAdjustedSize(int desiredSize, int measureSpec)
//从暂停中恢复
void resume()
//跳转到
void seekTo(int msec)
//设置MediaController,方便控制视频播放
void setMediaController(MediaController controller)
//媒体在播放完毕时的回调函数
void setOnCompletionListener(MediaPlayer.OnCompletionListener l)
//发生错误时的回调函数
void setOnErrorListener(MediaPlayer.OnErrorListener l) void setOnInfoListener(MediaPlayer.OnInfoListener l)
//加载完毕后的回调函数
void setOnPreparedListener(MediaPlayer.OnPreparedListener l)
//设置视频播放路径
void setVideoPath(String path)
//设置URI
void setVideoURI(Uri uri)
//视频播放开始
void start()
//停止回放
void stopPlayback()
//挂起
void suspend()
以下是VideoView的protected方法:
void onAttachedToWindow()
void onDetachedFromWindow() void onLayout(boolean changed, int left, int top, int right, int bottom)
void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
以上方法在重写VideoView时实现。
VideoView继承了以下类的方法:
android.view.SurfaceView
android.view.View
java.lang.Object //接口
android.graphics.drawable.Drawable.Callback
android.view.KeyEvent.Callback
android.view.accessibility.AccessibilityEventSource
android.widget.MediaController.MediaPlayerControl
Android下VideoView的研究的更多相关文章
- Android下的数据储存方式(三)
Android下最好的数据储存方式:关系型数据库sqlite. 数据库的创建:使用SqliteOpenHelper类 结合SqliteOpenHelper类和SQLiteDatabase类的帮 ...
- Android如何分析和研究Monkey Log文件
Log 在android中的地位非常重要,要是作为一个android程序员不能过分析log这关,算是android没有入门吧 . 下面我们就来说说如何处理log文件 . 什么时候会有Log文件的产生 ...
- 关于android内存泄漏的研究
博客建了几个月,都没有去写,一是因为当时换工作,然后又是新入职(你懂的,好好表现),比较忙:二是也因为自己没有写博客的习惯了.现在还算是比较稳定了,加上这个迭代基本也快结束了,有点时间来写写博客.好了 ...
- Android下pm命令详解
在看相关PackageManager代码时,无意中发现Android 下提供一个pm命令,通常放在/system/bin/下.这个命令与Package有关,且非常实用.所以研究之. 0. Usage: ...
- Android下pm 命令详解
Sam在看相关PackageManager代码时,无意中发现Android 下提供一个pm命令,通常放在/system/bin/下.这个命令与Package有关,且非常实用.所以研究之.0. Usag ...
- Android下DrawerLayout的使用
Android下DrawerLayout的使用 DrawerLayout见名知意,就是一个具有抽屉效果的布局,看看这个效果图,是不是感觉很炫酷 这么炫的效果其实不一定非要用类似一些SlidingMen ...
- 转:Android推送技术研究
Android推送技术研究 字数5208 阅读4026 评论5 喜欢35 前言 最近研究Android推送的实现, 研究了两天一夜, 有了一点收获, 写下来既为了分享, 也为了吐槽. 需要说明的是有些 ...
- android之VideoView和视频播放View的扩展
1.概念及扩展 VideoView 是android 系统提供的一个媒体播放显示和控制的控件.其结构层次如下: 原型:VideoView extends SurfaceView implements ...
- android下创建文件夹和修改其权限的方法
原文:http://www.cnblogs.com/wanqieddy/archive/2011/12/28/2304906.html 由于工作的需要,今天研究了在android下创建文件夹和修改其权 ...
随机推荐
- linux网络编程之一-----多播(组播)编程
什么是多播 组播(Multicast)是网络一种点对多(one to many)的通信方式,通过报文复制完成网络中一台server对应多台接收者的高效数据传 送.对其形象的比喻就是类似于广播电台和电视 ...
- DragVideo,一种在播放视频时,可以任意拖拽的方案
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/53638896 前言 项目已开源到 ...
- Chrome 内存和CPU消耗量双料冠军
今天统计了下某个时刻各进程的内存和CPU使用概况.结果发现,Chrome消耗量真是不一般的大.比Windows主进程都还猛! 另外发现百度安全卫士占用CPU也比较猛. powershell下输入: p ...
- String放入运行时常量池的时机与String.intern()方法解惑
运行时常量池概述 Java运行时常量池中主要存放两大类常量:字面量和符号引用.字面量比较接近于Java语言层面的常量概念,如文本字符串.声明为final的常量值等. 而符号引用则属于编译原理方面的概念 ...
- For oracle databases, if the top showing the oracle database, then oracle process is using the top c
Note 805586.1 Troubleshooting Session Administration (Doc ID 805586.1)Note 822527.1 How To Find ...
- github pages + Hexo + 域名绑定搭建个人博客
环境 Windows 10(64 位) Git-2.7.4-64-bit node-v4.4.7-x64 如果上述软件已经安装的,跳过,没有安装的下载安装. 1,git下载安装(https://git ...
- adb -s 设备名 设备名还有非法字符
当有多台安卓设备在同一电脑上时 想敲adb控制某一个设备 需要如下格式 adb -s 设备名 设备名 可以用adb devices获取 当发现adb devices 获取的名字是特别长而且含有非法字符 ...
- Servlet之HTTP状态码
HTTP 请求和 HTTP 响应消息的格式是类似的,结构如下: 初始状态行 + 回车换行符(回车+换行) 零个或多个标题行+回车换行符 一个空白行,即回车换行符 一个可选的消息主体,比如文件.查询数据 ...
- Android存储之SharedPreferences
Android数据存储之SharedPreferences SharedPreferences对象初始化 SharedPreferences mSharedPreferences = getShare ...
- The Ultimate Guide To iPhone Resolutions
备忘:http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutionshttp://appicontemplate.com/