博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android下VideoView的研究
阅读量:6757 次
发布时间:2019-06-26

本文共 2473 字,大约阅读时间需要 8 分钟。

    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)
//设置URIvoid	 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

转载于:https://www.cnblogs.com/hainange/p/6153530.html

你可能感兴趣的文章
戴尔通过提升大数据分析能力巩固“全数据”战略 帮助企业在现代数据经济中蓬勃发展...
查看>>
⑤Windows Server 8 RemoteFX体验
查看>>
《企业云桌面实施》-小技巧-03-vSAN6.5中SAS和SSD的使用建议
查看>>
cocos2d-x学习笔记番外篇02:获取系统毫秒时间
查看>>
perl学习笔记(1)
查看>>
连接第三方 腾讯QQ家校.师生群向智慧教学一路狂奔
查看>>
简单三步,搞定“量产”Windows 2008
查看>>
excel查找替换转义问号
查看>>
初始化游戏状态数据
查看>>
delphi 显示窗体系统目录 源码
查看>>
PowerDesigner 业务处理模型( BPM ) 说明
查看>>
Redis内存存储结构分析
查看>>
OCP终于考完了
查看>>
Cocos2D:滚动滚屏黑边问题
查看>>
Android 4.1最终版SDK和ADT Plugin全线发布
查看>>
jive论坛
查看>>
[Android问答] ListView如何加载远程图片?(附代码)
查看>>
k-means clustering - Wikipedia, the free encyclopedia
查看>>
三星S6D1121主控彩屏(240*320*18bit,262K)图形设备接口(GDI)实现
查看>>
head first java 01 ( 1 ~ 3 章 )
查看>>