進行状況スライダーへのタッチ イベントをキャッチして、指がスライダーから離されるまでMediaController
更新がMediaPlayer
発生しないようにする必要があります。
[おそらく、私の状況は特殊です。私は、「プログラム」ごとに複数の「スタック」に入っているストリーミング ビデオを再生しています。次のスタックは、前のスタックが完了するまでロードされません。スライダーはすべてのスタックの期間を表す必要があり、「親指」の進行状況は合計期間を表す必要があります。getBufferPercentage()
これは、 、getCurrentPosition()
、および]getDuration()
のメソッドをオーバーライドすることで簡単に実行できます。MediaPlayerControl
さらに問題なのは、タイムラインに沿って前後に「スクラブ」(親指を動かす) ことです。データ ソースがfor everyset
の動きとともに複数回発生する場合seekTo
、物事はすぐに行き詰まり、クラッシュします。ユーザーがスクラブを完了するまで、MediaPlayer が何のアクションも実行しない方がよいでしょう。
他の人が書いたように、はい、MediaController の独自の実装を作成するのが最善です。しかし、なぜそのすべての作業をやり直すのでしょうか? MediaController を拡張しようとしましたが、すぐに複雑になりました。スライダーへのタッチイベントをキャッチしたかっただけです!