Открыть средство вывода медиафайлов программно - PullRequest
0 голосов
/ 08 октября 2018

В Android 9 средства управления выводом мультимедиа были добавлены в диалог выбора громкости.

Мне бы хотелось, чтобы в моем приложении была кнопка, которая открывала бы эти системные средства управления выводом мультимедиа, чтобы пользователь мог выбирать, где аудиобудет воспроизводиться.

Я ничего не могу найти по этому поводу в: функциях и API-интерфейсах Android 9 , Изменения в поведении: приложения, ориентированные на уровень API 28 + и Поведениеизменения: все приложения

enter image description here

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Я также провел некоторое исследование по этому поводу, так что я знаю, что Android Pie способен на это, но они еще не предоставили нам, разработчикам, способ сделать это (по крайней мере, я не нашел способа).CATEGORY_LIVE_AUDIO в MediaRouterSelector также предназначен только для вторичного вывода;Вы можете прочитать об этом на сайте разработчика.Поэтому, если вы должны это сделать, я думаю, что единственный способ сделать это прямо сейчас - это обойти программу программно:

  • Отключить текущее устройство (Важность этого шага зависит от устройства; у меня естьчтобы сделать это на моем телефоне Essential)
  • Используйте BluetoothAdapter.getBondedDevices (), чтобы получить список сопряженных устройств.
  • Подключитесь к нужному устройству
0 голосов
/ 08 октября 2018

Вы ищете MediaRouter API.

public class MediaRouterPlaybackActivity extends AppCompatActivity {
  private MediaRouteSelector mSelector;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      // Create a route selector for the type of routes your app supports.
      mSelector = new MediaRouteSelector.Builder()
              // These are the framework-supported intents
              .addControlCategory(MediaControlIntent.CATEGORY_REMOTE_PLAYBACK)
              .addControlCategory(MediaControlIntent.CATEGORY_LIVE_AUDIO)
              .build();
  }
}

Для дальнейшего ознакомления: https://developer.android.com/guide/topics/media/mediarouter#java Также проверьте Create a MediaRouteSelector раздел.

...