ストリーミング アプリケーション (RTSP) でメディア プレーヤーを使用しています。
ビデオとサウンドは素晴らしく再生されますが、着信コールが を一時停止するActivity
と、Surface が破壊されます (これは のトレースでわかっていますSurfaceHolder.Callback
)。
通話が終了すると、アクティビティが再開され、新しいSurface
が作成されます。方法でプレーヤーに割り当てようとしましたsetDisplay(SurfaceHolder sh)
が、これまでのところ、ビデオの音声しか聞こえません。
ビデオ ストリームを再開するための回避策は次のとおりです。
- オブジェクトを再起動し
MediaPlayer
ます。 - バッファがいっぱいになるまで待ちます。
- mediaPlayer を介してシークを実行します。
- バッファがいっぱいになるまで待ちます。
通話が受信されたときにプレーヤーを一時停止し、通話が完了したときに新しいサーフェスをバインドし、Activity
再開してビデオをまったくバッファリングせずに再生できる必要があるため、これは面倒です。