Android MediaPlayer视频播放详情
2016-03-18 13:38
656 查看
Android MediaPlayer详解
MediaPlayer定义:
MediaPlayer的底层是基于OpenCore(PacketVideo)库实现的Audio和video播放功能,上层还包含了通过Binder机制实现的进程间通讯等内容;Music和Video在Android的界面中都通过调用MediaPlayer实现。
MediaPlayer特点:
1、Android通过控制播放器的状态
4000
的方式来控制媒体文件的播放。
2、MediaPlayer配置播放资源方式多样:
如1:播放用户再应用中自带的资源文件(res/raw/)
MediaPlayer.create(this, R.raw.test);
如2:不论是播放网络资源文件,还是SDK资源文件或者其他资源文件均采用:
mediaPlayer.setDataSource(Context, uri);
网络:mediaPlayer.setDataSource("http://www.citynorth.cn/music/confucius.mp3");
SDK资源文件:mediaPlayer.setDataSource("/sdcard/test.mp3");
MediaPlayer常用方法:
setDataSource(FileDescriptor
fd, long offset, long length);// 原始资源文件(assets):
setDataSource
(FileDescriptor fd);// 原始资源文件(assets):
setDataSource(String);// 存储上的音频资源文件(sdcard):
setDataSource(Context,
uri);// 播放网络上的音频文件:
Mediaplayer:构造方法
create: 创建一个要播放的多媒体
getCurrentPosition:得到当前播放位置
getDuration: 得到文件的时间
prepare: 准备(同步)
prepareAsync:准备(异步)
seekTo: 指定播放的位置(以毫秒为单位)
setAudioStreamType: 设置流媒体的类型
setDataSource: 设置数据来源
setDisplay:
设置用SurfaceHolder来显示多媒体
setOnBufferingUpdateListener: 网络流媒体的缓冲监听
setOnErrorListener: 设置错误信息监听
setOnVideoSizeChangedListener:视频尺寸监听
setScreenOnWhilePlaying: 设置是否使用SurfaceHolder来显示
setVolume: 设置音量
//获取sd卡上的音频文件
setDataSource(“/sdcard/test.mp3”);
//装载资源中的音乐
MediaPlayer.create(Activity01.this,R.raw.test);
//目前存在问题,不能循环解析出音频文件
原因:.android_secure文件夹受保护,无法获取里面的文件信息
播放视频
相关类:VideoView
方法说明:
getBufferPercentage:得到缓冲的百分比
getCurrentPosition:得到当前播放位置
getDuration:得到视频文件的时间
resolveAdjustedSize:调整视频显示大小
setMediaController:设置播放控制器模式(播放进度条)
setOnCompletionListener:当视频文件播放完时触发事件
setVideoPath:设置视频源路径
setVideoURI:设置视频源地址
MediaPlayer定义:
MediaPlayer的底层是基于OpenCore(PacketVideo)库实现的Audio和video播放功能,上层还包含了通过Binder机制实现的进程间通讯等内容;Music和Video在Android的界面中都通过调用MediaPlayer实现。
MediaPlayer特点:
1、Android通过控制播放器的状态
4000
的方式来控制媒体文件的播放。
2、MediaPlayer配置播放资源方式多样:
如1:播放用户再应用中自带的资源文件(res/raw/)
MediaPlayer.create(this, R.raw.test);
如2:不论是播放网络资源文件,还是SDK资源文件或者其他资源文件均采用:
mediaPlayer.setDataSource(Context, uri);
网络:mediaPlayer.setDataSource("http://www.citynorth.cn/music/confucius.mp3");
SDK资源文件:mediaPlayer.setDataSource("/sdcard/test.mp3");
MediaPlayer常用方法:
setDataSource(FileDescriptor
fd, long offset, long length);// 原始资源文件(assets):
setDataSource
(FileDescriptor fd);// 原始资源文件(assets):
setDataSource(String);// 存储上的音频资源文件(sdcard):
setDataSource(Context,
uri);// 播放网络上的音频文件:
Mediaplayer:构造方法
create: 创建一个要播放的多媒体
getCurrentPosition:得到当前播放位置
getDuration: 得到文件的时间
prepare: 准备(同步)
prepareAsync:准备(异步)
seekTo: 指定播放的位置(以毫秒为单位)
setAudioStreamType: 设置流媒体的类型
setDataSource: 设置数据来源
setDisplay:
设置用SurfaceHolder来显示多媒体
setOnBufferingUpdateListener: 网络流媒体的缓冲监听
setOnErrorListener: 设置错误信息监听
setOnVideoSizeChangedListener:视频尺寸监听
setScreenOnWhilePlaying: 设置是否使用SurfaceHolder来显示
setVolume: 设置音量
//获取sd卡上的音频文件
setDataSource(“/sdcard/test.mp3”);
//装载资源中的音乐
MediaPlayer.create(Activity01.this,R.raw.test);
//目前存在问题,不能循环解析出音频文件
原因:.android_secure文件夹受保护,无法获取里面的文件信息
播放视频
相关类:VideoView
方法说明:
getBufferPercentage:得到缓冲的百分比
getCurrentPosition:得到当前播放位置
getDuration:得到视频文件的时间
resolveAdjustedSize:调整视频显示大小
setMediaController:设置播放控制器模式(播放进度条)
setOnCompletionListener:当视频文件播放完时触发事件
setVideoPath:设置视频源路径
setVideoURI:设置视频源地址
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories