MediaPlayer で SurfaceView を使用しています。ビデオが期待どおりに再生されている場合、新しい向きに合わせてサイズが変更され、再生が続けられます。問題は一時停止時です。ビデオが一時停止状態のときは表示されますが、向きを変えると黒くなり、シークバーやテキスト ビューと同じように他のすべてが同じままになります。これは、向きの変更を処理する方法です。
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 を設定します。再生中は機能し、一時停止中は機能しないのはなぜですか?