Android MediaPlayer详解
MediaPlayer定义:
MediaPlayer的底层是基于OpenCore(PacketVideo)库实现的Audio和video播放功能,上层还包含了通过Binder机制实现的进程间通讯等内容;Music和Video在Android的界面中都通过调用MediaPlayer实现。
MediaPlayer特点:
1、Android通过控制播放器的状态的方式来控制媒体文件的播放。
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(String);// 存储上的音频资源文件(sdcard):
setDataSource(Context, uri);// 播放网络上的音频文件:
Mediaplayer:构造方法
create: 创建一个要播放的多媒体
getCurrentPosition:得到当前播放位置
getDuration: 得到文件的时间
prepare: 准备(同步)
prepareAsync:准备(异步)
seekTo: 指定播放的位置(以毫秒为单位)
setAudioStreamType: 设置流媒体的类型
setDataSource: 设置数据来源
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文件夹受保护,无法获取里面的文件信息
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:设置视频源地址