私のアプリケーションでは、MediaPlayer クラスと SurfaceHolder クラスを使用して HLS ビデオを再生します。ユーザーがプレーヤーを離れてから戻る場合を除いて、すべて正常に機能します。
ログから、ユーザーが VideoPlayerActivity に戻ったときに、MediaPlayer オブジェクトがまだ存在し、ビデオの進行状況が保存されていることがわかります。ビデオをもう一度開始しようとすると、次のメッセージが表示されます。
[SurfaceView] queueBuffer: SurfaceTexture has been abandoned!
E/SurfaceTextureClient(128): queueBuffer: error queuing buffer to SurfaceTexture, -19
これは、MediaPlayer によって使用される SurfaceHolder が存在しなくなったためであることを理解しています (アクティビティの OnStop 状態で破棄されることはわかっています)。
私の質問は、同じ MediaPlayer オブジェクトを使用してそれに新しいサーフェスをアタッチする方法があるかどうかです。