Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android支持MediaRouter未检测辅助显示器_Android_Android Support Library - Fatal编程技术网

Android支持MediaRouter未检测辅助显示器

Android支持MediaRouter未检测辅助显示器,android,android-support-library,Android,Android Support Library,媒体路由器支持库未找到使用MediaControlIntent.CATEGORY_LIVE_VIDEO的辅助显示器的路由,如中所述 我是否缺少MediaRouter检测辅助显示所需的任何标志或关键步骤?(下面的代码) 使用appcompat-v7:23.0.1和mediarouter-v7:23.0.1,无法通过MHL适配器检测模拟二次显示器或二次显示器 以下是我的MediaRouteSelector初始化: mMediaRouteSelector = new MediaRouteSelecto

媒体路由器支持库未找到使用MediaControlIntent.CATEGORY_LIVE_VIDEO的辅助显示器的路由,如中所述

我是否缺少MediaRouter检测辅助显示所需的任何标志或关键步骤?(下面的代码)

使用
appcompat-v7:23.0.1
mediarouter-v7:23.0.1
,无法通过MHL适配器检测模拟二次显示器或二次显示器

以下是我的MediaRouteSelector初始化:

mMediaRouteSelector = new MediaRouteSelector.Builder()
            .addControlCategory(MediaControlIntent.CATEGORY_LIVE_VIDEO)
            .build();
MenuItem mediaRouteMenuItem = menu.findItem(R.id.media_route_menu_item);
        if (mediaRouteMenuItem != null) {
            MediaRouteActionProvider mediaRouteActionProvider =
                (MediaRouteActionProvider) MenuItemCompat.getActionProvider(mediaRouteMenuItem);
            if (mediaRouteActionProvider != null) {
                mediaRouteActionProvider.setRouteSelector(mMediaRouteSelector);
            }
        }
以下是选择器在MediaRouter中注册的位置:

mMediaRouter.addCallback(mMediaRouteSelector, mMediaRouterCallback,
            MediaRouter.CALLBACK_FLAG_REQUEST_DISCOVERY);
这是操作项初始化:

mMediaRouteSelector = new MediaRouteSelector.Builder()
            .addControlCategory(MediaControlIntent.CATEGORY_LIVE_VIDEO)
            .build();
MenuItem mediaRouteMenuItem = menu.findItem(R.id.media_route_menu_item);
        if (mediaRouteMenuItem != null) {
            MediaRouteActionProvider mediaRouteActionProvider =
                (MediaRouteActionProvider) MenuItemCompat.getActionProvider(mediaRouteMenuItem);
            if (mediaRouteActionProvider != null) {
                mediaRouteActionProvider.setRouteSelector(mMediaRouteSelector);
            }
        }

我创建了一个第三方库来报告二次显示,我们亲切地命名它

媒体路由器仅支持无线辅助显示器,如用于
类别\u直播\u视频的无线显示器
-媒体路由器不支持有线连接,如带有MHL的连接-而是自动用于镜像显示器。

MHL显示器通常由设备自动处理(镜像),通过前台应用程序的可选自定义控件(通过
演示文稿
)。您应该能够使用
DisplayManager
枚举显示,这就是我在中使用的
PresentationHelper
。除此之外,堆栈溢出是用于编程问题的,不清楚您的问题是什么。@Commonware我们已经使用您的精彩的
PresentationHelper
来检测并显示。我们正在尝试添加Google Cast远程显示支持,它依赖于MediaRouter和
.addControlCategory(CastMediaControlIntent.categoryForCast(“应用程序ID”)
。我们正在努力协调显示器的选取方式,MediaRouter看起来应该完成这项工作,但实际上没有。我编辑了我的问题以获得更多的澄清。我还尝试了您的cwac mediarouter,示例应用程序也没有检测到显示:(感谢您所做的一切!感谢Ian!我认为文档()可以更新,以突出显示
类别\u LIVE\u视频
仅适用于无线显示。我是否应该提交文档“bug”?