问题标签 [miracast]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
137 浏览

windows - 从桌面应用程序(Win32/C++)调用 WinRT::MiracastReceiver,不支持

首先,我在 Win32/C++ 项目中通过“Windows 应用程序打包项目”使用 WinRT::MiracastReceiver(Win10 sdk)。 https://docs.microsoft.com/zh-tw/windows/msix/desktop/desktop-to-uwp-packaging-dot-net。所以它已经有包标识(私有网络和互联网 C/S 能力)。

我检查了这个 API 有 DualApiPartition 属性,所以桌面应用程序可以调用 WinRT API。 https://docs.microsoft.com/zh-tw/windows/win32/apiindex/uwp-apis-callable-from-a-classic-desktop-app

当我启动 MiracastReceiver 会话时,我得到 MiracastNotSupported 的结果?我该如何解决这个问题?

当我将相同的代码放入 WinRT/UWP 项目时,它是成功的。

状态 = MiracastNotSupported

环境:

  • Visual Studio 2017 v15.9.30
  • Win10 SDK 10.0.19041.0
  • Win10 操作系统 2004 (19041)
0 投票
0 回答
489 浏览

windows - 更多关于铸造(屏幕镜像)技术(协议)

所以最近,Casting 技术几乎在我所知道的所有地方都出现了,那些智能电视和电视盒开始“声称”支持这种技术,我想嗯,它们是如何工作的?他们使用什么协议?

有一天,作为一个Nexus6P的用户,它内置了“投射”功能,我的朋友声称他的电视支持“投射”功能,然后他用他的iPhone将他的屏幕放到他的电视上,但是当我尝试打开我的 Casting 功能时,它找不到电视设备,我尝试了我手上的所有设备,例如 PC(Chrome),甚至尝试了一些 3rd 方软件,没有运气。(大多只是使用手机内置强制转换协议的API,没用)

有趣的是,在中国一些随机的视频平台软件,BiliBili 发现设备和工作就像一个魅力,我的 Nexus6P,所以我完全糊涂了,对 Casting Technology 的协议做了一些研究,这是我得到的信息成立

这是我得到的铸造技术列表的协议

  • DLNA/UPNP casting (Media streaming)
    这可能是 Casting 技术最古老的协议了,DLNA 最初是为像 FTP 一样的媒体传输而开发的,它可能会向接收设备发送信号并要求它接收来自源的数据馈送,因为它不是为 Casting 技术而设计的,它播放控制和视频流等功能的泄露,需要应用程序编写自己的数据馈送代码,这就是为什么市场上只有少数大品牌软件支持这种协议的原因。(有趣的事实,Windows 也隐藏地支持此协议)

  • Chromecast Built-in (Google Cast)
    Chromecast,显然是谷歌开发的,而且这个是直接为投射技术设计的,这样的协议似乎是市场上领先的,一个有趣的事实是,Chromecast 内置投影设备似乎也可以在使用的设备上投射米拉卡斯特

  • Miracast
    Miracast 是 Wi-Fi Alliance 开发的,Intel WiDi 的延伸,可能是市场上的第二选择,它在中国被广泛使用,因为它与谷歌无关,Windows 也内置了这个协议,有点强大Chromecast 也是

  • [Deprecated] Intel WiDi
    不再支持

  • AirPlay
    由 Apple 开发,他们有自己的市场,与我们隔离……但是这个协议是最有用的,因为 AirPlay 投影设备能够在使用上述任何协议的所有设备上投影,这真的很强大,这次给苹果一个赞,只

来源

如果有任何不正确或遗漏的信息,请注意我愿意更新它们,我只是试图整理我们拥有的所有协议,因为互联网似乎泄露了这些区域的信息


所以现在带着我的问题

  1. DLNA/UPNP是最古老的投屏技术,为什么google和WiFi联盟要开发新的投屏协议呢?您可能会告诉我,因为它的控制泄漏,例如播放之一,但是如果您曾经使用过 BiliBili,或者我在 PlayStore “DLNA 播放器的视频和电视演员:UPnP 电影镜像”中找到的 2kit 咨询,您会注意到实际上有某种方法可以控制它,甚至是流媒体 Youtube。目前我也找不到任何 DLNA 铸造播放器的开源项目,为什么每个人都不想更新 DLNA 而只是走向新的方式?
  2. 我可以使用启用 Miracast 的投影设备在 chromecast 设备上进行投射吗?假设我想使用 Windows 的内置 Miracast 在 Chromecast 内置设备上投射
  3. 目前,铸造技术似乎也存在安全隐患,你可以在未经允许的情况下轻松投射到邻居的电视上,甚至播放成人视频或恐怖视频来欺骗他人..为什么没人关心呢?甚至谷歌??
  4. Miracast 从以太网到 Wifi?为什么这样的东西还不存在??根据我从互联网上获得的信息,投影设备必须使用 WiFi 为什么?
0 投票
0 回答
29 浏览

wireless - LAN 上的无线显示

我有许多电视和投影仪,我想使用 Raspberry Pi 或 miracast 设备等无线连接到接入点。网络上的任何计算机都可以访问,而不是直接连接,因为网络上的许多设备都是有线的只要。实现这一目标的最佳方法是什么?

0 投票
1 回答
180 浏览

c# - 使用 Miracast 在 Windows 上以编程方式添加无线显示器

我正在寻找开发 WPF 应用程序,如果不是 UWP 应用程序,它将以编程方式添加特定设备(三星平板电脑)作为 Win10 的无线显示设备。例如。我现在只有 1 个屏幕,我想将平板电脑添加为我的屏幕 2(扩展我当前的桌面)。

它基本上是“Win key + K”的作用,减去设备选择部分。Win 10 系统和平板电脑都将在同一个 Wifi 网络上。

我从 Windows UWP 示例中检查了以下示例。

https://github.com/microsoft/Windows-universal-samples/tree/main/Samples/BasicMediaCasting https://github.com/Microsoft/Windows-universal-samples/tree/main/Samples/AdvancedCasting https:// github.com/microsoft/Windows-universal-samples/tree/main/Samples/Projection

使用“Win + K”,或使用“显示设置”中的“添加无线显示器”选项,我可以找到平板电脑并连接到它,并启用 UIBC,这样我就可以使用平板电脑的手写笔在平板电脑上运行 Windows 程序比如白板。

使用 BasicMedia Casting 和 AdvanceCasting 示例,我要么无法找到平板设备,要么无法找到前面带有“电话”图标/类别的设备。(对于“Win +K”选项,平板电脑显示为“显示”类别。)我无法使用 2 个样本连接到平板电脑。

使用投影示例,我能够找到并连接到平板电脑,但无法启用 UIBC。此外,项目示例将特定应用程序投射到平板电脑上,而不是显示桌面,尽管我发现它确实将平板电脑添加为第二个屏幕。

我可以知道是否有适合我的样品吗?或者可以向我指出有关此主题的任何文档?以及如何在 Windows 中以编程方式启用 UIBC?

TIA

0 投票
1 回答
126 浏览

c# - 使用 Windows.Devices.WiFiDirect 与 Microsoft 显示适配器自动连接

首先,我已经广泛阅读了 Windows 10 上自动连接到 MS 无线显示器的内容,并且基本上尝试了所有解决方案。(从技术上讲,我确实让 AutoHotKey 解决方案工作了,实际上甚至在研究之前就这样做了。但是,我觉得这有点不专业,而且肯定有一些 API 可以连接到这个东西。)在经历了所有这些之后,我刚刚开始阅读不同的命名空间。最后,我找到了 Windows.Devices.WiFiDirect。这给了我最大的进步,即它开始连接并在屏幕上显示,然后出现异常,指出设备无法访问。很气人。

谁能准确解释这里发生了什么?似乎这应该是将我的屏幕连接到此设备的正确方法,但它只是无法正常工作。下面的代码,它非常简短明了。

编辑:

根据 Roy Li 的建议,我尝试使用不同的 socket.ConnectAsync 方法重载。这实际上确实产生了影响,但我仍然收到一个例外,尽管是一个不同的例外。该方法现在尝试连接更长时间但仍然失败,这次出现“连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机没有响应”异常。这是否意味着 Window 的操作系统在连接到此设备时正在使用某种秘密握手?如果是这样,这可能是一个死胡同。代码已在下面更新。

0 投票
0 回答
39 浏览

android - 通过 Cast connect 或 Screen Mirror Kotlin 连接示例应用程序

我有一个问题,我正在寻找一种通过 Kotlin 语言实现功能的方法,以便通过 Cast Connect 或 Screen Mirror 在智能手机和内置 Chromecast 或 Miracast 的电视之间建立连接。

我尝试使用 google Cast SDK 在 Goole 官方文档中搜索和查看更多内容:

https://developers.google.com/cast

但是,我无法在该项目上取得太大进展。

我还尝试通过 sdk v3 https://developers.google.com/cast/codelabs/cast-videos-android/#0遵循应用程序创建教程, 并且尝试完全按照所有步骤进行操作,但投射按钮仍然没有'不出现在 Google 示例应用程序中:

如果有人知道如何在 Kotlin 中进行这项开发,或者知道为什么 Cast 图标没有出现并且可以帮助我,我将不胜感激。

谢谢