【问题标题】:Open media output picker programmatically以编程方式打开媒体输出选择器
【发布时间】:2018-10-08 17:13:39
【问题描述】:

在 Android 9 中,媒体输出控件被添加到音量选择对话框中。

我想在我的应用程序中有一个按钮,可以打开这些系统媒体输出控件,以便用户可以选择播放音频的位置。

我在 Android 9 features and APIs、Behavior changes: apps targeting API level 28+ 和 Behavior changes: all apps 中找不到任何相关信息

【问题讨论】:

  • 你能找到什么吗?我目前正在寻找相同的答案。谢谢!

标签: android android-mediaplayer android-audiomanager


【解决方案1】:

您正在寻找 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 部分。

【讨论】:

  • 我对 MediaRouter 的理解是,它用于将媒体(带音频的视频)播放(投射)到智能电视、汽车等设备上。我从 Google 运行了两个示例项目,我是无法在耳机或内置扬声器之间切换。我什至把你写在上面的MediaRouteSelector 放在上面,这没什么区别。我希望能够选择播放音频的位置:内置麦克风、有线耳机或蓝牙耳机
【解决方案2】:

我也对此进行了一些研究,因此我知道 Android Pie 能够做到这一点,但他们还没有为我们的开发人员提供一种方法来做到这一点(至少我还没有找到方法)。 MediaRouterSelector 中的 CATEGORY_LIVE_AUDIO 也只用于二级输出;你可以在开发者网站上阅读它。因此,如果您必须这样做,我认为您现在可以这样做的唯一方法是以编程方式解决问题:

  • 断开当前设备(此步骤的重要性取决于设备;我必须在 Essential 手机上执行此操作)
  • 使用 BluetoothAdapter.getBondedDevices() 获取已配对设备的列表。
  • 连接到您想要的人

【讨论】:

    【解决方案3】:

    试试这个 - 它适用于 Android 11:

    Intent intent = new Intent("com.android.settings.panel.action.MEDIA_OUTPUT");
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(intent);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-30
      • 2014-06-29
      • 1970-01-01
      • 2018-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多