MediaPlayer的示例
详细使用见demo下MediaPlayerActivity.
1、创建播放器
mMediaPlayer=new MediaPlayer(this.getApplicationContext());
2、设置监听
SDK提供了相应的监听器和设置接口,建议用户全部都设置,需要强调的是IMediaPlayer.OnPreparedListener为必须设置的接口。
mMediaPlayer.setOnBufferingUpdateListener(mOnBufferingUpdateListener);
mMediaPlayer.setOnCompletionListener(mOnCompletionListener);
mMediaPlayer.setOnPreparedListener(mOnPreparedListener);
mMediaPlayer.setOnInfoListener(mOnInfoListener);
mMediaPlayer.setOnVideoSizeChangedListener(mOnVideoSizeChangeListener);
mMediaPlayer.setOnErrorListener(mOnErrorListener);
mMediaPlayer.setOnSeekCompleteListener(mOnSeekCompletedListener);
3、设置播放信息
String mVideoUrl = "http://xxxxx"; // mVideoUrl为视频的播放地址
mMediaPlayer.setDataSource(mVideoUrl);
4、通过setdisplay和setsurface开始渲染surface
protected void onCreate(Bundle savedInstanceState) {
mSurfaceHolder = mVideoSurfaceView.getHolder();
mSurfaceHolder.addCallback(mSurfaceCallback);
}
private final SurfaceHolder.Callback mSurfaceCallback = new Callback() {
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height){
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
}
@Override
public void surfaceDestroyed(SurfaceHolder holder)
}
}
5、MediaPlayer主要方法
6、开始播放
当收到 onPrepared 回调时,表明可以开始播放
private IMediaPlayer.OnPreparedListener mOnPreparedListener =
new IMediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(IMediaPlayer mp) {
if(mMediaPlayer != null) {
// 设置视频伸缩模式,此模式为裁剪模式
mMediaPlayer.setVideoScalingMode(MediaPlayer.
VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);
// 开始播放视频
mMediaPlayer.start();
}
}
}
7、停止播放
mMediaPlayer.stop();
8、释放播放器
if(mMediaPlayer!= null){
mMediaPlayer.release();
mMediaPlayer = null;
}