android实现视频播放主要有以下三种方式,可以根据不同需求来使用不同的方式:

1、调用手机自带播放器,这是最简单的一种方法,几行代码搞定:

Intent intent=new Intent(Intent.ACTION_VIEW);intent.setDataAndType(Uri.parse(path), "video/mp4");startActivity(intent);


2、如果想实现自己程序内置播放器,则可以使用VideoView来实现:

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();


其中,MediaPlayerController是控制媒体播放的接口;

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则用来显示视频内容。







更多相关文章

  1. Android(安卓)Studio 使用NDK编译时常见的问题
  2. Android(安卓)Studio 插件
  3. android push notification serfice android中的push机制
  4. Android(安卓)context源码详解及深入分析
  5. 浅谈Java中Collections.sort对List排序的两种方法
  6. 箭头函数的基础使用
  7. NPM 和webpack 的基础使用
  8. Python list sort方法的具体使用
  9. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程

随机推荐

  1. SQL Substring提取部分字符串
  2. 用户"sa"登陆失败 SQLServer 错误18456的
  3. SQL 存储过程基础语法之一
  4. SQL Server全文检索查询浅析
  5. sql 时间函数 整理的比较全了
  6. 按日期选择最晚日期与最早日期对应的数的
  7. 数据库清除日志文件(LDF文件过大)
  8. SQLSERVER 中datetime 和 smalldatetime
  9. sqlServer 获取汉字字串的拼音声母
  10. 根据多条件查询临时表 想得到不同结果集