次のものがあるとします (Android ApiDemos から)。
<?xml version="1.0" encoding="utf-8"?>
<SurfaceView android:id="@+id/surface"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
</SurfaceView>
MediaPlayer が SurfaceView を使用し、その release() が呼び出された後、SurfaceView を再利用できますか? SurfaceView を再利用するために MediaPlayer の新しいインスタンスを作成しようとしましたが、setDisplay() で次のエラーが発生します: java.lang.IllegalArgumentException: The surface has beenreleased
コードは次のようなものです。
mPreview = (SurfaceView) findViewById(R.id.surface);
holder = mPreview.getHolder();
holder.addCallback(this);
mMediaPlayer = new MediaPlayer();
MediaPlayer.setDataSource(url);
mMediaPlayer.setDisplay(holder);