获得MediaPlayer实例
// 方式一
// 参数和crete()方式差不多,如果设置内置资源可以参考方式二的源码
// 另外setDataSource()方法有多个,里面有这样一个类型的参数:FileDescriptor,在使用这个 API的时候,需要把文件放到res文件夹平级的assets文件夹里,然后使用下述代码设置DataSource:
AssetFileDescriptor fileDescriptor = getAssets().openFd("rain.mp3");
m_mediaPlayer.setDataSource(fileDescriptor.getFileDescriptor(),fileDescri
ptor.getStartOffset(), fileDescriptor.getLength());
MediaPlayer mp = new MediaPlayer();
mp.setDataSource()
// 方式二
// 内部封装了setDataSource()和prepare();所以可以直接调用start()方法进行播放,这种适合内置资源或者sd卡资源,不适合网络资源,因为prepare()是同步,可能会卡UI。
// 内置资源的话只能放在raw文件夹中(坑爹)
MediaPlayer mp = MediaPlayer.create(this, R.raw.test);
getCurrentPosition( ):得到当前的播放位置
getDuration() :得到文件的时间
getVideoHeight() :得到视频高度
getVideoWidth() :得到视频宽度
isLooping():是否循环播放
isPlaying():是否正在播放
pause():暂停
prepare():准备(同步)
prepareAsync():准备(异步)
release():释放MediaPlayer对象
reset():重置MediaPlayer对象
seekTo(int msec):指定播放的位置(以毫秒为单位的时间)
setAudioStreamType(int streamtype):指定流媒体的类型(一般都是AudioManager.STREAM_MUSIC)
setDisplay(SurfaceHolder sh):设置用SurfaceHolder来显示多媒体(播放视频的时候才需要,内部是holder获取surfaceview,然后显示在surfaceview上)
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():停止播放
MediaPlayer播放音频与视频
http://blog.csdn.net/shulianghan/article/details/38487967
网友评论