基于WiFi直连连接,我怎么才能将屏幕共享到另一个设备上?

15

我希望开发一个应用程序,通过使用WiFi直接连接将(源)屏幕共享到另一个(接收)设备。

我成功地通过Wifi Direct API连接了两个设备,但getPresentationDisplay()返回null。看起来源设备找不到由接收设备导出的任何附加显示服务。API级别4.2.2是否支持它?或者是否有任何API可以将显示服务注册到源设备?

//Get Media router service
mMediaRouter = (MediaRouter) getSystemService(Context.MEDIA_ROUTER_SERVICE);
MediaRouter.RouteInfo route = mMediaRouter.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO);
if (route != null) {
    Display presentationDisplay = route.getPresentationDisplay();
    if (presentationDisplay != null) {
        Presentation presentation = new DemoPresentation(this, presentationDisplay);
        Log.i("tracer", "presentation.show();");
        presentation.show();
    }
}

你能展示一下你的代码吗? - Raptor
你是指像http://www.maxivista.com/这样的东西吗? - cup
不是很复杂...我想做的是将源设备的屏幕内容镜像到接收设备的屏幕上。 - user2512862
2个回答

1

祝福您,@Ales Teska。 - Matan Dahan

0

这取决于您要连接的设备。默认情况下,Android 不会充当 Miracast/无线显示器接收器。
要实现 Android - Android 无线显示共享,请参考 Miracast Sink support for android - HowTo


请注意,不鼓励“仅链接答案”,Stack Overflow的答案应该是解决方案搜索的终点(而不是另一个参考站点,这些站点往往会随着时间的推移而变得陈旧)。请考虑在此处添加独立的概要,将链接作为参考。 - kleopatra
1
@kleopatra 这不是一个仅包含链接的答案。我已经解释了为什么对我没有起作用,以及为什么没有起作用。该链接包含几个步骤和源修补程序,这里无法复制。因此使用“参考”。 - Manish Narang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接