如何通过 WiFi 直接连接将屏幕共享到另一台设备

Posted

技术标签:

【中文标题】如何通过 WiFi 直接连接将屏幕共享到另一台设备【英文标题】:How can I share screen to another device base on WiFi direct connection 【发布时间】:2013-06-23 04:42:44 【问题描述】:

我想开发一个 AP,通过 WiFi 直接连接将 (SOURCE) 屏​​幕共享到另一个 (SINK) 设备。

我通过 Wifi direct API 成功连接了两台设备,但 getPresentationDisplay() 返回 null。 SOURCE 设备似乎没有找到 SINK 设备导出的任何附加显示服务。 API 级别 4.2.2 是否支持它?或者是否有任何 API 可以将显示服务注册到 SOURCE?

//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();
    

【问题讨论】:

你能出示你的代码吗? 你的意思是像maxivista.com。 没那么复杂...我要做的是将SOURCE设备的屏幕内容镜像到SINK设备的屏幕上。 【参考方案1】:

CatVision.io 是我的作者 - android 应用程序的屏幕共享软件组件。与媒体投影(基本上是设备的屏幕)相关的源代码在这里:https://github.com/TeskaLabs/CatVision-io-SDK-Android/blob/master/cvio/src/main/java/com/teskalabs/cvio/CatVision.java

【讨论】:

祝福你@Ales Teska【参考方案2】:

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

【讨论】:

请注意 link-only answers 是不鼓励的,所以答案应该是寻找解决方案的终点(与另一个中途停留的参考相比,随着时间的推移往往会变得陈旧)。请考虑在此处添加独立的概要,并保留链接作为参考。 @kleopatra 这不是仅链接的答案。我已经解释了什么对我不起作用,以及为什么不起作用。该链接包含无法在此处复制的几个步骤和源补丁。因此,“参考”

以上是关于如何通过 WiFi 直接连接将屏幕共享到另一台设备的主要内容,如果未能解决你的问题,请参考以下文章

如何检测我通过蓝牙连接从一台设备发送到另一台设备的消息

Android:如何检查设备是不是通过 WiFi - Direct 连接到另一台设备?

NSD文件共享安卓

XMPPFramework - 如何将图像从一台设备传输到另一台设备?

如何在Mac上远程控制另一台Mac

如何在android中找到另一台设备的wifi信号方向?