1

我正在编写一个应用程序,它利用外部显示器(HDMI 和/或无线 miracast 或 chromecast 显示器)Presentation通过DisplayManager

如果连接了蓝牙 a2dp 配置文件,我正在尝试强制该视频中的音频通过蓝牙 a2dp 配置文件播放。我很容易找到蓝牙设备的路由信息​​,并为音频路由选择它:

        final MediaRouter mediaRouter = (MediaRouter) context.getSystemService(Context.MEDIA_ROUTER_SERVICE);
        int nRoutes = mediaRouter.getRouteCount();
        for (int i = 0; i < nRoutes; i++) {
            if (mediaRouter.getRouteAt(i).getDeviceType() == MediaRouter.RouteInfo.DEVICE_TYPE_BLUETOOTH) {
                mediaRouter.selectRoute(MediaRouter.ROUTE_TYPE_LIVE_AUDIO, mediaRouter.getRouteAt(i));
                break;
            }
        }

这可行,但是,它会导致 wifi 显示器完全断开连接,而不是继续播放视频。我如何告诉 android 我只想覆盖音频路由而不是视频。奇怪的是,该RouteInfo对象DEVICE_TYPE_BLUETOOTH表明它同时支持这两种方法ROUTE_TYPE_LIVE_AUDIOROUTE_TYPE_LIVE_VIDEO但对我来说似乎不正确。

4

0 回答 0