アプリのサービスを介してvideoView
ストリーミング ビデオの URL を再生する があります。
プレイ開始時は準備からプレイ開始までかなり時間がかかるのですが、そのために進捗ダイアログを表示しています。
ただし、ユーザーがシーク バーを使用して特定の位置 (ビデオの途中など) にスキップすると、ビデオ ビューがかなりの時間 (最大 20 秒?!) フリーズし、ANR が発生します (つまり、ユーザーがメディア コントローラーで何かを行い、ビデオの先頭に戻ることさえしません)、(待機することを選択した場合) 選択した位置から再生を再開します。
なぜそれが起こるのですか?どうすればそのような奇妙な行動を避けることができますか? バッファリングしているのに、なぜ ANR が発生するのですか? 次の方法で URL を再生するだけなので、コードはありません。
_videoView.setVideoURI(Uri.parse(_videoUrl));
何か案は?