android开发笔记之多媒体—VideoView播放视频
来源:互联网 发布:化学绘图软件 安卓 编辑:程序博客网 时间:2024/06/11 19:32
——使用VideoView播放视频
效果:
使用步骤:
1)在布局文件中定义VideoView的组件2)调用setVideoPath(path)指定要播放的资源或者调用setVideoURI(Uri uri)加载uri对应的视频。3)调用VideoView中的start,stop,pause方法控制视频播放4)和MediaController类一起使用,它可以提供一个友好的图形控制界面, MediaController mc = new MediaController(this);//设置播放控制器 video.setMediaController(mc);设置播放控制器来控制其播放
注意:VideoView需要标准mp4,3gp的视频。否则无法播放
公共方法
public boolean canPause ()
(译者注:判断是否能够暂停播放视频)
public boolean canSeekBackward ()
(译者注:判断是否能够倒退)
public boolean canSeekForward ()
(译者注:判断是否能够快进)
public int getBufferPercentage ()
(译者注:获得缓冲区的百分比)
public int getCurrentPosition ()
(译者注:获得当前的位置)
public int getDuration ()
(译者注:获得所播放视频的总时间)
public boolean isPlaying ()
(译者注:判断是否正在播放视频)
public boolean onKeyDown (int keyCode, KeyEvent event)
KeyEvent.Callback.onKeyMultiple() 的默认实现。如果视图可用并可按, 当按下 KEYCODE_DPAD_CENTER 或 KEYCODE_ENTER 时执行视图的按下事件。
参数
keyCode 表示按下的键的、在 KEYCODE_ENTER 中定义的键盘代码
event KeyEvent 对象,定义了按钮动作
返回值
如果处理了事件,返回真。如果允许下一个事件接受器处理该事件,可以返回假
public boolean onTouchEvent (MotionEvent ev)
实现该方法来处理触屏事件。
参数
event 触屏事件
返回值
如果事件已经处理返回True,否则返回false。
public boolean onTrackballEvent (MotionEvent ev)
实现这个方法去处理轨迹球的动作事件,轨迹球相对于上次事件移动的位置能用MotionEvent.getX() 和 MotionEvent.getY()函数取回。对应用户按下一次方向键, 他们通常作为一次移动处理(为了表现来自轨迹球的更小粒度的移动信息,他们返回小数)。
参数
ev 动作的事件
public void pause ()
(译者注:使得播放暂停)
public int resolveAdjustedSize (int desiredSize, int measureSpec)
(译者注:取得调整后的尺寸。如果measureSpec对象传入的模式是UNSPECIFIED那么返回的是desiredSize。如果measureSpec对象传入的模式是AT_MOST,返回的将是desiredSize和measureSpec对象的尺寸两者中最小的那个。如果measureSpec对象传入的模式是EXACTLY,那么返回的是measureSpec对象中的尺寸大小值。
关于MeasureSpec类的额外说明:MeasureSpec是一个android.view.View的内部类。它封装了从父类传送到子类的布局要求信息。每个MeasureSpec对象描述了控件的高度或者宽度。MeasureSpec对象是由尺寸和模式组成的,有3个模式:UNSPECIFIED、EXACTLY、AT_MOST,这个对象由MeasureSpec.makeMeasureSpec()函数创建。)
public void resume ()
(译者注:恢复挂起的播放器)
public void seekTo (int msec)
(译者注:设置播放位置)
public void setMediaController (MediaController controller)
(译者注:设置媒体控制器)
public void setOnCompletionListener (MediaPlayer.OnCompletionListener l)
注册在媒体文件播放完毕时调用的回调函数。
参数
l 要执行的回调函数
public void setOnErrorListener (MediaPlayer.OnErrorListener l)
注册在设置或播放过程中发生错误时调用的回调函数。如果未指定回调函数, 或回调函数返回假,VideoView 会通知用户发生了错误。
参数
l 要执行的回调函数
public void setOnPreparedListener (MediaPlayer.OnPreparedListener l)
注册在媒体文件加载完毕,可以播放时调用的回调函数。
参数
l 要执行的回调函数
public void setVideoPath (String path)
(译者注:设置视频文件的路径名)
public void setVideoURI (Uri uri)
(译者注:设置视频文件的统一资源标识符)
public void start ()
(译者注:开始播放视频文件)
public void stopPlayback ()
(译者注:停止回放视频文件)
public void suspend ()
(译者注:挂起视频文件的播放)
一般我们播放视频的时候都会横屏看比较好看,这样的话需要在配置文件中(AndroidManifest.xml)配置下:
代码:
public class MainActivity extends Activity { private VideoView videoView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); videoView = (VideoView) findViewById(R.id.videoView); MediaController mc = new MediaController(this); videoView.setMediaController(mc); videoView.setVideoPath("/sdcard/areyouok.3gp"); } public void start(View view) { videoView.start(); } public void stop(View view) { videoView.pause(); }}
记得加上权限:
<uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
- android开发笔记之多媒体—VideoView播放视频
- Android之多媒体--使用VideoView播放视频
- android开发笔记之多媒体—MediaPlayer + SurfaceView播放视频
- 27、从头学Android之多媒体--使用VideoView播放视频
- 27、从头学Android之多媒体--使用VideoView播放视频
- android开发笔记之多媒体—播放音频(音乐)
- android开发笔记之多媒体—SurfaceView
- HTML5开发学习笔记之多媒体播放
- android开发笔记之多媒体—音频和视频的录制
- Android开发 之 videoview循环播放视频
- Android开发之使用VideoView播放视频
- Android VideoView播放视频
- Android VideoView播放视频
- Android VideoView播放视频
- Android VideoView播放视频
- Android VideoView播放视频
- android videoview播放视频
- android---视频播放---VideoView
- [leetcode] 310. Minimum Height Trees 解题报告
- android 闪屏分析及解决方案
- [Android]Binder池的使用
- 农场灌溉问题
- 迷宫问题
- android开发笔记之多媒体—VideoView播放视频
- WPF 更换图片
- 归并排序
- IO流
- Qt学习笔记:QMainWindow与QDockWidget
- 游戏几种同步策略
- 异常与异常处理
- Javac java jar 命令使用
- 安装Genymotion出现的错误