Android MediaRouter拆分音频和视频路由,以通过Presentation在外部显示器上播放视频,并通过蓝牙在音频上播放

问题描述

我正在编写一个利用外部显示器(HDMI和/或无线Miracast或chromecast显示器)通过Presentation通过displayManager播放视频的应用

如果连接了蓝牙,我试图通过蓝牙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的{​​{1}}对象表明它同时支持DEVICE_TYPE_BLUetoOTHROUTE_TYPE_LIVE_AUdio,这对我来说似乎不合适。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)