我将 SurfaceView 与 MediaPlayer 一起使用。当视频正在播放时,一切都按预期工作,它会根据新的方向改变其大小并继续播放。问题是何时暂停。当视频处于暂停状态时,它是可见的,但是当我改变方向时它变成黑色,其他一切都保持不变,就像我的搜索栏和文本视图一样。这就是我处理方向变化的方式:
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setVideoSize(mediaPlayer);
surfaceView.setLayoutParams(
new FrameLayout.LayoutParams(videoWidth,videoHeight));
((FrameLayout.LayoutParams) surfaceView.getLayoutParams()).gravity = Gravity.CENTER;
}
setVideoSize() 根据屏幕分辨率设置 videoWidth 和 videoHeight。为什么播放的时候有效,暂停的时候无效?