android实现视频播放主要有以下三种方式,可以根据不同需求来使用不同的方式:
1、调用手机自带播放器,这是最简单的一种方法,几行代码搞定:
<span style="white-space:pre"> </span>Intent intent=new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(path), "video/mp4");
startActivity(intent);
2、如果想实现自己程序内置播放器,则可以使用VideoView来实现:
<span style="white-space:pre"> </span>Uri uri=Uri.parse("/mnt/ext_sdcard/DCIM/Camera/VID_20140501_130818.mp4");
videoView.setMediaController(new MediaController(this));
videoView.setVideoURI(uri);
videoView.start();
videoView.requestFocus();
3、使用MediaPlayer+SurfaceView实现播放器;这个会比较复杂,但是它可以实现很多自定义效果,在以后会有文章详细说明。
三种播放器的比较:
1)在这三种方式中,第一种是最简单的,但是它是调用手机自带播放器,如果想要在自己的APP中内置播放器则要使用第二种。
2)VideoView其实就是继承的SurfaceView、实现了MediaController.MediaPlayerController接口的组建。其中,SurfaceView用来显示视频内容,MediaPlayerController用来控制媒体播放。它能够实现包括快进、快退、播放、暂停按钮以及一个进度条的功能,它的优点就是简单易用,基本功能已经都帮我们封装好了,我们只要调用即可;缺点就是可扩展性差,无法实现一些自定义效果。关于VideoView API 可以参见我的另一篇文章:http://blog.csdn.net/annieliu502/article/details/39375353。
3)使用MediaPlayer+SurfaceView实现播放器可以实现自定义效果,缺点就是实现比较麻烦;使用MediaPlayer来控制媒体的播放,暂停,进度等;SufaceView则用来显示视频内容。