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 (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...