1.支持的媒体流:(三种)
1.内部的URI 可以通过ContentResolver来获取
2.外部URL(流)
3.本地资源
2.使用:
1)获得MediaPlayer实例:
1.MediaPlayer mp =newMediaPlayer();
2.MediaPlayer mp = MediaPlayer.create(this, R.raw.test);//无需再调用setDataSource
或者 create(Context context, Uri uri, SurfaceHolder holder)
2)设置播放文件:
1.raw下的资源:MediaPlayer.create(this, R.raw.test);
2.本地文件路径:mp.setDataSource("/sdcard/test.mp3");
3.网络URL文件:mp.setDataSource("http://www.xxx.com/music/test.mp3");
4.assets文件:AssetFileDescriptor fileDescriptor = getAssets().openFd("rain.mp3");
m_mediaPlayer.setDataSource(fileDescriptor.getFileDescriptor(),fileDescriptor.getStartOffset(), fileDescriptor.getLength());
3)主要方法:
getCurrentPosition( ):得到当前的播放位置
getDuration() :得到文件的时间
getVideoHeight() :得到视频高度
getVideoWidth() :得到视频宽度
isLooping():是否循环播放
isPlaying():是否正在播放
pause():暂停
prepare():准备(同步)
prepareAsync():准备(异步)
release():释放MediaPlayer对象
reset():重置MediaPlayer对象
seekTo(int msec):指定播放的位置(以毫秒为单位的时间)
setAudioStreamType(int streamtype):指定流媒体的类型
setDisplay(SurfaceHolder sh):设置用SurfaceHolder来显示多媒体
setLooping(boolean looping):设置是否循环播放
setOnBufferingUpdateListener(MediaPlayer.OnBufferingUpdateListener listener):
网络流媒体的缓冲监听
setOnCompletionListener(MediaPlayer.OnCompletionListener listener):
网络流媒体播放结束监听
setOnErrorListener(MediaPlayer.OnErrorListener listener):
设置错误信息监听
setOnVideoSizeChangedListener(MediaPlayer.OnVideoSizeChangedListener listener):
视频尺寸监听
setScreenOnWhilePlaying(boolean screenOn):设置是否使用SurfaceHolder显示
setVolume(float leftVolume, float rightVolume):设置音量
start():开始播放
stop():停止播放
网友评论