Miracast投屏探索


Miracast是一种Wi-Fi Alliance推出的无线显示技术,允许在支持Miracast标准的设备之间进行屏幕镜像和内容共享。在Miracast技术中,通常会涉及到两种角色:Source(发送端)和Sink(接收端)。
Source(发送端):Source端通常是指将内容发送到显示设备的设备,比如手机、平板电脑或电脑。Source端负责将自己的屏幕内容发送给Sink端。
Sink(接收端):Sink端通常是指接收并显示来自Source端的内容的设备,比如电视、投影仪或显示器。Sink端接收并显示来自Source端的内容。
在Miracast中,通常来说,一个设备要么是Source,要么是Sink,它们之间通过Wi-Fi直连进行通信。Source端向Sink端发送屏幕内容,然后Sink端显示该内容。
根据Miracast的设计,Sink端通常不具备作为发送端的功能,因为Sink端的主要责任是接收和显示内容。如果你需要在某个设备上实现同时作为Source和Sink的功能(即既可以发送内容也可以接收内容),可能需要考虑其他技术或方案。
总的来说,在一般的Miracast场景中,Sink端通常不作为发送端。如果你有特殊需求,可能需要寻找其他支持双向功能的技术或方案。


如何将android miracast sink端同时具有source端的能力?
在一般情况下,Miracast技术设计上将Source端和Sink端功能分开,一个设备通常只能扮演其中一个角色。然而,如果你有特殊需求想要在Android设备上实现Miracast Sink端同时具有Source端的能力,你可能需要考虑以下几种方案:
使用支持双向功能的硬件:一些高级的Miracast适配器或设备可能支持双向功能,即可以既作为Source端又作为Sink端。你可以尝试寻找这样的设备来实现你的需求。
定制开发:如果你有开发资源,并且对Android系统有深入了解,你可以尝试进行定制开发。通过修改系统设置或编写定制的驱动程序,可能可以实现将Android设备同时作为Miracast Sink端和Source端。
使用第三方应用或固件:有些第三方应用或固件可能提供了将Android设备同时作为Miracast Sink端和Source端的功能。你可以搜索一些第三方的Miracast应用或固件,在这些应用中可能会提供额外的功能。
需要注意的是,在进行这样的定制或修改时,可能会涉及到一定的技术挑战和风险,包括可能违反厂商的授权协议或导致设备不稳定等问题。在尝试这些方法之前,请务必谨慎操作,并确保明白自己的行为可能带来的后果。

如果仅仅想要具有source端的能力,作为一个手机制造商,我应该怎么样实现?
作为手机制造商,如果你希望你的Android手机具有Miracast Source端的能力,你可以考虑以下几种方法:

集成Miracast功能到手机固件中:在制造手机时,你可以将Miracast功能集成到手机的固件中。这需要在手机的系统级别上实现Miracast协议的支持,确保用户可以轻松地使用手机将内容发送到支持Miracast的显示设备上。
优化硬件支持:确保手机的硬件能够支持Miracast所需的无线传输和显示功能。这可能需要在手机设计阶段考虑到硬件支持Miracast的需求,并选择合适的无线芯片组或者其他硬件组件。
提供易用的用户界面:在手机的操作界面中提供易用的Miracast功能入口,让用户可以方便地启动Miracast连接并将手机的屏幕内容发送到外部显示设备上。
测试和认证:在手机设计和制造完成后,进行充分的测试和认证,确保Miracast功能的稳定性和可靠性。这包括对Miracast连接的稳定性、画质和音频传输的质量等方面进行测试。
持续更新和支持:随着技术的发展和用户需求的变化,持续更新手机的固件和软件,以确保Miracast功能的兼容性和性能得到不断改进,并提供及时的技术支持和维护。
通过以上方法,你可以将Miracast Source端功能集成到你的Android手机中,为用户提供更加丰富和便利的无线显示体验。


猜测:
wifi的问题也有可能。
底层直接进行编码投屏的功能不知道有没有。
硬件肯定是有,协议什么的也有。

sink端的框架层miracast与source端的框架层一样吗?
在Miracast技术中,Source端和Sink端在框架层(Framework Layer)上通常并不完全相同,因为它们在功能和角色上有所区别。虽然它们都需要遵循Miracast协议规范来实现相应的功能,但在具体的实现上可能存在一些差异。

在Android系统中作为Miracast Source端和Sink端的实现中,通常会使用不同的框架组件来支持各自的功能:

Source端:
在Source端,通常会涉及与屏幕内容捕获、编码、网络传输等相关功能的框架组件。例如,在Android系统中,可以使用MediaCodec进行视频编码,使用Wifi Display等框架组件来实现Miracast协议的支持。
Sink端:
在Sink端,通常会涉及接收、解码、渲染以及显示等功能的框架组件。例如,在Android系统中,可以使用MediaCodec进行视频解码,使用SurfaceView或其他显示框架来展示解码后的视频内容。
虽然两端可能会使用不同的框架组件来实现各自的功能,但它们必须遵循Miracast协议以确保端到端的兼容性和互操作性。此外,在Android系统中,通常会借助系统提供的一些API和框架来简化Miracast功能的实现,如Wifi Display API等。
总的来说,Source端和Sink端在框架层的实现可能有所差异,但都需要遵循Miracast协议规范,并通过相应的框架组件来实现各自的功能以支持无线显示和传输。

wifi display是什么?
WiFi Display(无线显示)是一种无线传输技术,它允许用户将手机、平板电脑、笔记本电脑等移动设备上的内容(如视频、音频、图像等)通过无线网络传输到外部显示设备(如电视、投影仪)上进行显示。WiFi Display技术通常用于实现类似Miracast的屏幕镜像功能,让用户可以方便地分享设备上的内容并扩展显示屏幕。
通过WiFi Display技术,用户可以在不需要使用有线连接的情况下,将手机或其他设备上的内容实时投射到支持WiFi Display的外部显示设备上,从而实现更便捷的影音分享和扩展屏幕功能。WiFi Display技术通常基于WiFi网络进行数据传输,因此用户需要确保设备和外部显示设备连接在同一无线网络下,以实现稳定的数据传输和流畅的显示效果。
在Android系统中,WiFi Display技术通常通过WiFi Display API来实现,提供了一套接口和框架用于支持Miracast功能的实现。用户可以通过系统设置或特定应用程序启用WiFi Display功能,并选择要连接的外部显示设备,从而实现设备内容的无线投射和显示。
总的来说,WiFi Display技术为用户提供了一种便捷的无线显示方式,让用户可以轻松地分享和扩展设备内容,提升用户体验和实用性。


WiFi Display技术原理,它在android系统源码中包含吗?是以怎样的形式供使用的?
WiFi Display技术的原理主要涉及设备之间的无线传输和显示,通常基于Miracast协议进行实现。在Android系统源码中,WiFi Display技术是以一系列API、框架和驱动程序的形式进行包含和提供的。
具体来说,Android系统源码中包含了用于支持WiFi Display技术的API、框架和驱动程序,主要包括以下几个方面:
WiFi Display API:Android系统中提供了WiFi Display API,作为应用程序与系统进行交互的接口。通过这些API,应用程序可以发起对外部显示设备的连接、启动屏幕镜像和停止镜像等操作。这些API通常位于android.net.wifi包或相关的网络通信包中。
框架支持:Android系统框架中提供了一些用于处理WiFi Display相关功能的类和模块,如WifiDisplayManager、MediaProjectionManager等。这些类和模块用于管理WiFi Display会话、处理屏幕捕获和编码、以及与外部显示设备的通信等功能。
驱动程序支持:在底层,Android系统的WiFi Display功能需要硬件的支持,因此相应的驱动程序也会包含在系统源码中。这些驱动程序通常负责处理无线网络连接、视频数据的编码和传输等底层操作。
Android系统源码中提供了上述的API、框架和驱动程序,以便开发者和设备制造商可以利用这些功能来实现WiFi Display技术。开发者可以通过使用系统提供的API来开发支持WiFi Display功能的应用程序,而设备制造商可以根据需要对底层的驱动程序和框架进行定制和优化,以确保WiFi Display功能在特定设备上的稳定性和兼容性。
总的来说,Android系统源码中包含了WiFi Display技术所需的API、框架和驱动程序,以便开发者和制造商可以利用这些功能来实现无线显示和传输的功能。


wifiDispaly是什么?
https://zhuanlan.zhihu.com/p/387006998
EZCast,外接硬件实现无线远距离投屏。
https://www.zhihu.com/tardis/zm/art/650609008?source_id=1005
android中的 miaracast工作原理:一个基于wifi direct技术网络应用。
https://blog.csdn.net/innost/article/details/8474683

原生的android系统有wifi display的设置选项吗?
android原生代码有wifi display 进行投屏的功能吗?
Android 原生代码提供了支持 Wi-Fi 显示(Wi-Fi Display)的功能,也被称为 Miracast。Miracast 是一种通过 Wi-Fi 连接实现屏幕镜像和投屏的技术标准,允许用户将设备的屏幕内容无线传输到支持 Miracast 的显示设备,比如电视或投影仪。
在 Android 设备上,你可以通过系统设置中的“投射”选项来使用 Miracast 功能。具体步骤可能会因 Android 版本和设备型号而有所不同,但通常的步骤是:
打开设备的设置应用。
找到“连接”、“网络”或类似的选项。
在连接选项中查找“投射”、“Miracast”或类似的子选项。
启用“投射”功能,并搜索附近的支持 Miracast 的显示设备。
选择要连接的设备并建立连接,然后你的设备屏幕内容就会在外部显示设备上显示。
需要注意的是,并非所有的 Android 设备都支持 Miracast,而且有些设备可能会将该功能集成在自定义的投屏应用程序中。如果你的设备支持 Miracast,通常可以通过系统设置直接使用该功能。如果设备不支持 Miracast,你可能需要考虑使用第三方应用程序来实现类似的投屏功能。
总的来说,Android 原生代码支持 Wi-Fi 显示(Miracast)功能,但具体的实现方式可能因设备和系统版本而异。希望这个回答对你有所帮助。如有其他问题,请随时提出。


再次思考:
有可能是因为系统设置中没有投射,那么这种情况就需要第三方程序了。估计实现时免不了与系统权限打交道。还有wifi direct,视频编解码等,估计非常复杂。
那么就只能希望厂家把功能集成进来了。
这是最好的方式了。还有下下策,那就是第三方投屏sdk,比如乐播啥的。


--------------

androdi设置里面为什么既有投屏的选项,而且自己开发app时还能通过android.setting.cast跳转到投射页面,这两者有什么关系吗?
在 Android 设置中的投屏选项和通过 android.settings.cast 跳转到投射页面这两者之间有一定的关联,但并不完全相同。让我们来解释一下它们之间的关系:
投屏选项在设置中:
Android 设备的设置界面通常会包含一个“投屏”或“投射”选项,用于管理设备与外部显示设备(比如电视或投影仪)之间的屏幕镜像和投屏功能。通过这个选项,用户可以查找、连接和管理与设备的投射设备。这个选项提供了一个方便的界面,让用户能够直接控制设备的投屏功能。
通过 android.settings.cast 跳转到投射页面:
通过 android.settings.cast 这个 Intent 可以直接跳转到 Android 设备的投射设置页面,而不需要用户手动导航到设置中进行操作。这个 Intent 的作用类似于一种快捷方式,让开发者能够在自己的应用程序中提供一个按钮或链接,让用户可以快速访问设备的投屏设置界面。
虽然这两个功能都涉及到设备的投屏功能,但它们的角色不同:一个是系统设置中的用户界面,另一个是开发者可以在应用中使用的 Intent。开发者可以通过在自己的应用中触发 android.settings.cast Intent 来帮助用户快速访问设备的投屏设置页面,提供更好的用户体验。
总的来说,投屏选项在设置中提供了用户操作设备投屏功能的界面,而通过 android.settings.cast Intent 则是开发者在应用中提供的一种快捷方式,让用户可以直接跳转到设备的投屏设置页面。两者相辅相成,为用户提供了更便捷的管理设备投屏功能的方式。希望这个解答能帮助你理解它们之间的关系。如果有任何疑问,请随时告诉我。

接上例,系统设置中的投屏与开发程序时可以跳转到的投射界面本质上的实现有什么区别吗?
系统设置中的投屏选项和开发程序时可以跳转到的投射界面本质上的实现有一些区别,主要体现在以下几个方面:
功能定位:
系统设置中的投屏选项是为用户提供方便的界面,让他们可以直观地管理设备的投屏功能,包括搜索、连接和断开外部显示设备等操作。
开发程序时可以跳转到的投射界面是为了让应用程序能够快速引导用户到设备的投屏设置页面,通常用于特定场景下需要用户进行投屏设置的应用程序中。
访问权限:
系统设置中的投屏选项是系统级的功能,需要相应的权限和系统支持才能操作设备的投屏功能。
开发者通过 Intent 跳转到投射界面时,是利用系统提供的 Intent 功能来触发打开设备的投屏设置页面,开发者无需直接管理设备投屏功能的权限和实现细节。
用户交互:
系统设置中的投屏选项通常提供了更丰富的用户交互和管理功能,使用户可以灵活地控制设备的投屏操作。
开发程序时可以跳转到的投射界面则是为了在应用内部提供一个便捷的方式,让用户可以直接访问设备的投屏设置,而不需要手动导航到系统设置中查找。
总的来说,系统设置中的投屏选项和开发程序时可以跳转到的投射界面在实现上的本质区别主要在于功能定位、访问权限和用户交互方面。系统设置提供了全面的设备投屏管理功能,而开发者可以利用 Intent 在应用中快速引导用户到设备的投屏设置页面,以提供更好的用户体验。希望这个回答对你有所帮助。如有其他问题,请随时提出。
-------------------
结论:
开始的板子上可能是由于设置中本就没有投屏的选项,所以投射哪个快捷方式也没用。还有可能是wifi没有打开的原因。        而后面的板子上更没有所谓的投屏,投射页面,所以app才打不开对应的页面。

  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值