1
以前は、boundServiceを使用してこれを簡単に達成できました。しかし、MediaBrowserServiceを使うと、getDurationにアクセスすることができません。そうしないとシークバーを更新できません。アクティビティからmediaBrowserServiceのgetDurationを呼び出すにはどうすればよいですか?
以前は、boundServiceを使用してこれを簡単に達成できました。しかし、MediaBrowserServiceを使うと、getDurationにアクセスすることができません。そうしないとシークバーを更新できません。アクティビティからmediaBrowserServiceのgetDurationを呼び出すにはどうすればよいですか?
MediaBrowserServiceで、MediaMetadataを更新するときに、現在のメディアの期間を追加します。
MediaMetadataCompat.Builder metadataBuilder = new MediaMetadataCompat.Builder();
metadataBuilder.putLong(MediaMetadataCompat.METADATA_KEY_DURATION, track.durationMs);
は、クライアント側の一方で、MediaBrowserCompatを使用して、あなたはMediaSessionCompat.TokenをあなたMediaBrowserServiceに接続して取得することができます。トークンを使用すると、現在のメディアに関する情報を持つ
MediaMetadataCompatを取得できるMediaSessionControllerを取得できます。
int duration = (int) metadata.getLong(MediaMetadataCompat.METADATA_KEY_DURATION);
公式documentationが、これは全体の
をどのように機能するかについてOK説明を持っている私は私がアプリdevのを立ち止まっBT .... alrdyを発見した...ので、自分自身nywysに答えることについて悩むdidntの。 .. tnx man。 –