我必须使用MediaPlayer播放视频,而不是VideoView . 我在Xml Layout中有一个SurfaceView,在Activity端有一个MediaPlayer和一个MediaController .
我找不到使用MediaView和SurfaceView和MediaPlayer的方法 . VideoView很容易,但无法弄清楚如何使用MediaPlayer .
我在网上找到了例子,但它们都是关于播放音频,而不是视频 .
这是我创建MediaPlayer的surfaceCreated方法
@Override
public void surfaceCreated(SurfaceHolder holder) {
try {
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDisplay(mSurfaceHolder);
mMediaPlayer.setDataSource(this, Uri.parse(mUrl));
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.prepare();
mMediaController = new MediaController(this);
} catch (Exception e) {
Log.e(TAG, "MediaPlayer Prepare: " + e.getMessage());
}
}
和这个MediaPlayer onPrepared方法
@Override
public void onPrepared(MediaPlayer mp) {
mVideoWidth = mp.getVideoWidth();
mVideoHeight = mp.getVideoHeight();
mSurfaceHolder.setFixedSize(mVideoWidth, mVideoHeight);
startVideoPlayback();
mMediaController.setMediaPlayer(this);
handler.post(new Runnable() {
public void run() {
mMediaController.setEnabled(true);
mMediaController.show();
}
});
}
上面的代码没有在SurfaceView上显示MediaController .
我怎样才能实现这一目标?
提前致谢 .
1 回答
因为你必须实现活动
检查下面的工作代码