CN117311657A - 一种投屏方法、装置及电子设备 - Google Patents
一种投屏方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117311657A CN117311657A CN202311536424.5A CN202311536424A CN117311657A CN 117311657 A CN117311657 A CN 117311657A CN 202311536424 A CN202311536424 A CN 202311536424A CN 117311657 A CN117311657 A CN 117311657A
- Authority
- CN
- China
- Prior art keywords
- screen
- throwing
- channel
- equipment
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004891 communication Methods 0.000 claims abstract description 67
- 230000004048 modification Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 abstract description 10
- 238000004590 computer program Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000005266 casting Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/08—Access restriction or access information delivery, e.g. discovery data delivery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/20—Selecting an access point
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了一种投屏方法、装置及电子设备,其中,该方法应用于被投屏设备,该被投屏设备尚未接入无线局域网,具体包括:获取投屏设备发送的投屏请求消息,基于投屏请求消息中携带的操作类型参数与预设目标信道参数,确定投屏设备所请求的投屏信道是否为一个用于传输投屏数据的目标空闲信道,若该操作类型参数与预设目标信道参数满足预设部署条件,则基于投屏设备与被投屏设备通过该通信信道构建通信连接,将投屏设备上的投屏数据传输至被投屏设备上显示。如此,可在被投屏设备尚未接入WiFi时,通过确定投屏设备所请求使用的投屏信道作为目标通信信道进行投屏数据传输,有效避免了现有技术存在的数据传输信道不同而导致的投屏失败的问题。
Description
技术领域
本申请涉及视频投屏技术领域,尤其涉及一种投屏方法、装置及电子设备。
背景技术
在视频投屏技术领域,尤其是基于安卓系统实现的视频投屏领域中,投屏设备(比如手机、平板、智能穿戴设备等)与被投屏设备(比如智能电视、智能机顶盒、智能投影仪等)可通过协商产生的投屏信道进行投屏数据的传输,进而将投屏设备上的显示界面投射至被投屏设备上播放。
但是,存在一种特殊情形,容易引发投屏失败的问题。即:
在被投屏设备自身的无线WiFi通信功能开启的,但尚未接入WiFi的前提情况下。当投屏设备与被投屏设备通过Miracast(一种无线显示标准)信道进行投屏时,容易存在投屏设备所连接的WiFi信道,与投屏设备同被投屏设备之间的Miracast信道不同的情况。如此,因被投屏设备与投屏设备之间的数据传输信道不同,易引发投屏失败的问题。
发明内容
有鉴于此,本申请实施例提供了一种投屏方法、装置及电子设备,以解决现有技术存在因数据传输信道不同而引发的投屏失败的问题。
第一方面,本申请提供了一种投屏方法,其中,所述方法应用于被投屏设备,所述被投屏设备尚未接入无线局域网络,所述方法包括:
获取投屏设备发送的投屏请求消息,其中,所述投屏请求消息中携带有操作类型参数和预设目标信道参数,所述操作类型参数用于表征所述投屏设备支持的空闲信道集合,所述预设目标信道参数用于表征所述投屏设备请求使用的投屏信道;
若所述操作类型参数与所述预设目标信道参数满足预设配置条件,确定所述投屏设备请求使用的投屏信道为目标通信信道,并基于所述目标通信信道与所述投屏设备构建通信连接;
接收所述投屏设备从所述目标通信信道传输的投屏数据,并显示。
第二方面,本申请提供了一种投屏装置,所述装置应用于被投屏设备,所述被投屏设备尚未接入无线局域网络,所述装置包括:
报文接收模块,用于取投屏设备发送的投屏请求消息,其中,所述投屏请求消息中携带有操作类型参数和预设目标信道参数,所述操作类型参数用于表征所述投屏设备支持的空闲信道集合,所述预设目标信道参数用于表征所述投屏设备请求使用的投屏信道;
通信连接模块,用于若所述操作类型参数与所述预设目标信道参数满足预设配置条件,确定所述投屏设备请求使用的投屏信道为目标通信信道,并基于所述目标通信信道与所述投屏设备构建通信连接;
投屏显示模块,用于接收所述投屏设备从所述目标通信信道传输的投屏数据,并显示。第三方面,本申请提供了一种投屏系统,其中,所述投屏系统包括投屏设备与被投屏设备,所述被投屏设备尚未接入无线局域网络,其中:
所述投屏设备通过预设网卡模块向所述被投屏设备发送投屏请求消息,其中,所述投屏请求消息中携带有操作类型参数和预设目标信道参数,所述操作类型参数用于表征所述投屏设备支持的空闲信道集合,所述预设目标信道参数用于表征所述投屏设备请求使用的投屏信道;
所述被投屏设备接收所述投屏请求消息,并解析,得到所述操作类型参数与所述预设目标信道参数,若所述操作类型参数与所述预设目标信道参数满足预设配置条件,确定所述投屏设备请求使用的投屏信道为目标通信信道,并基于所述目标通信信道与所述投屏设备构建通信连接;
所述投屏设备通过所述目标通信信道接收投屏数据;所述被投屏设备从所述目标通信信道接收所述投屏数据,并显示。
第四方面,本申请提供了一种电子设备,其中,所述电子设备包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行第一方面所述的投屏方法。
第五方面,本申请提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行第一方面所述的投屏方法。
本申请的有益效果:
本申请提供了一种投屏方法、装置及电子设备,其中,该方法应用于被投屏设备,该被投屏设备尚未接入无线局域网,该方法包括:获取投屏设备发送的投屏请求消息,基于投屏请求消息中携带的操作类型参数与预设目标信道参数,确定投屏设备所请求的投屏信道是否为一个用于传输投屏数据的目标空闲信道,若该操作类型参数与预设目标信道参数满足预设部署条件,则意味着该投屏请求信道为一个可用的通信信道,然后基于投屏设备与被投屏设备通过该通信信道构建通信连接,将投屏设备上的投屏数据传输至被投屏设备上显示。如此,选用本申请实施例,能够在被投屏设备尚未接入WiFi时,通过确定投屏设备所请求使用的投屏信道作为目标通信信道进行投屏数据传输,有效避免了现有技术存在的数据传输信道不同而导致的投屏失败的问题。
附图说明
在下面结合附图对于示例性实施例的描述中,本申请的更多细节、特征和优点被公开,在附图中:
图1示出了本申请提供的投屏方法的一种流程示意图;
图2示出了本申请提供的投屏方法的另一种流程示意图;
图3示出了本申请提供的投屏方法的另一种流程示意图;
图4示出了本申请提供的投屏方法的另一种流程示意图;
图5示出了本申请提供的投屏方法的另一种流程示意图;
图6示出了本申请提供的投屏装置的一种结构示意图;
图7示出了本申请提供的投屏系统的一种交互示意图;
图8示出了本申请提供的电子设备的一种逻辑结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本申请中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
Miracast是一种可将手机、电脑中的文件、图片、视频等内容通过实时传输相同画面和声音到电视或其它设备的无线投屏协议。
Miracast投屏主要应用在会议、游戏、手机相册投屏等,不管哪种应用场景,用户都是想体验到快速上屏,无感且流畅的画面。Android系统原有逻辑,当被投屏设备未连接WiFi并作为一个无线接入热点时,在未配置投屏信道情况下,wpa_supplicant配置工具会在投屏设备和被投屏设备共有的可选信道中随机选择一个信道作为被投屏设备的投屏信道。当被投屏设备作为的无线热点使用的投屏信道与接入该热点的设备当前所连接的WiFi不是同一个信道时,可能会出现上屏较慢,且投屏设备有可能会提示断网等情况。
有鉴于此,第一方面,本申请提供了一种投屏方法,该方法应用于被投屏设备,其中,该被投屏设备尚未接入无线局域网,该被投屏设备是任意具备接收投屏数据且进行投屏显示能力的电子设备。该电子设备包括但不限于:个人移动终端、投影仪、智能电视、智能显示器等。其中,如图1所示,在一些实施例中,本申请所提供的投屏方法包括如下几个步骤:
S11、获取投屏设备发送的投屏请求消息。其中,该投屏请求消息中携带有操作类型参数和预设目标信道参数。
其中,该操作类型参数用于表征该投屏设备支持的空闲信道集合,该预设目标信道参数用于表征投屏设备请求使用的投屏信道。
S12、若该操作类型参数与预设目标信道参数满足预设配置条件,确定投屏设备请求使用的投屏信道为目标通信信道,与投屏设备构建通信连接。
S13、接收投屏设备从目标通信信道传输的投屏数据,并显示。
本申请所提供的投屏方法应用于被投屏设备,能够在被投屏设备尚未接入WiFi时,通过接收投屏设备发送的投屏请求消息报文中的操作类型参数和预设目标信道参数,确定出一个空闲的预设热点信道作为目标通信信道,然后借助该目标通信信道传输投屏数据,能够有效避免现有技术存在的数据传输信道不同而导致的投屏失败的问题。
为了便于清楚理解本申请所提供的投屏方法,下文将对上述步骤S11至步骤S13进行详细说明:
在一些实施例中,投屏设备是指投屏数据发送设备,被投屏设备是指投屏数据接收设备。现有常见的投屏数据传输方式为:投屏设备与被投屏设备可以是通过WiFi网络端口传输投屏数据,这需要投屏设备与被投屏设备均接入WiFi网络,借助接入的WiFi网络传输投屏数据。而在本申请实际应用场景中,被投屏设备尚未接入WiFi网络,具体是指被投屏设备自身存在WiFi模块,具备接入WiFi网络的能力,但对于一些特定场景,存在被投屏设备所处环境无WiFi网络可供其连接的情况。
作为一种示例,比如新搬家庭未安装无线路由器情况下,将手机上的图片投屏至家中智能电视中,手机为投屏设备,家中的智能电视即为被投屏设备,其中,该智能电视具有WiFi模块,但是未接入WiFi网络。
在一些实施例中,任何具备WiFi功能模块的电子设备,均具备连接WiFi和Miracast投屏的能力。从专业角度来说,该电子设备具备STA站点(Station)和P2P(Peer ToPeer,点对点连接)两个功能。其中,STA是设备所使用的WiFi模块会产生一个WLAN0的网卡,用于连接路由器AP热点上网。P2P功能是基于WiFi模块产生的P2P0网卡,基于该P2P0网卡进行无线数据交互。
基于此,在本申请实施例中,被投屏设备具有WiFi模块,但是尚未接入WiFi网络,意味着被投屏设备无法基于STA技术中的WLAN0网卡同投屏设备进行数据交互,即无法从WLAN0网卡处获取投屏设备发送的投屏请求消息,而是通过P2P0网卡接收投屏设备发送的投屏请求消息。
在执行步骤S11时,被投屏设备通过P2P0网卡接收投屏设备发送的投屏请求消息。其中,投屏请求消息是任意满足Miracast无线传输协议的请求消息报文。具体的,作为一种实施方式,投屏请求消息可以为Go Neg Req数据帧以及P2P invite Req数据帧。其中,GONeg Req数据帧为请求协商出哪个设备做GO(Group Owner,一种接入热点)热点的消息报文,P2P invite Req数据帧为邀请进行P2P连接的报文。
作为一种实施方式,投屏设备将自身的操作类型参数填充至GO Neg Req数据帧中,然后通过广播的方式向被投屏设备发送,以便被投屏设备获取投屏请求消息。投屏设备将自身的预设目标信道参数填充至P2P invite Req数据帧中,然后通过广播的方式向被投屏设备发送,以便被投屏设备获取投屏请求消息。
作为一种实施方式,投屏请求消息通过一条数据报文发送至被投屏设备,被投屏设备接收到该数据报文后,进行报文解析,获取报文中携带的操作类型参数与预设目标信道参数。作为另一种实施方式,投屏请求消息可通过多条数据报文发送至被投屏设备,每一条数据报文中携带的内容不同,被投屏设备按照预设报文封装规则,从各报文中解析出操作类型参数与预设目标信道参数。具体发送形式可灵活选择,本申请不作严格限定。
作为一种示例,操作类型参数为op_class参数,该参数表征投屏设备所支持的空闲信道。比如,op_class为125时,则表明投屏设备所支持的空闲信道包括:149、153、157、161、165这几个信道。预设目标信道参数为op_channel参数,该参数表明投屏设备所请求使用的目标信道为该参数对应的信道,比如op_channel为161时,则表明投屏设备请求使用161这个信道。
在一些实施例中,执行步骤S12时,若操作类型参数与预设目标信道参数满足预设配置条件。作为一种实施方式,预设配置条件为:操作类型参数与预设目标信道参数只要不为空,即不等于NULL,则表明各参数各自对应的热点信道为空闲可用信道。作为一种示例,将投屏设备中的msg.opertating.channel[3]确定为操作类型参数,将投屏设备中的msg.opertating.channel[4]信道参数确定为预设目标信道参数。若此两个参数不为空,则表明各自对应的热点信道可以用。
因此,在执行步骤S11时,被投屏设备通过广播接收投屏设备通过广播发送的携带有操作类型参数的GO Neg Req数据帧,与携带有预设目标信道参数的P2P invite Req数据帧,以实现获取投屏设备发送的投屏请求消息。在一些实施例中,被投屏设备通过广播接收投屏设备发送的GO Neg Req数据帧与P2P invite Req数据帧,解析接收到的数据帧中携带的操作类型参数与预设目标信道参数,确定对应的GO热点信道或者P2P热点信道是否为空闲信道。
在一些实施例中,投屏设备发送的投屏请求消息中携带有投屏设备的协商配置参数,如图2所示,本申请所提供的投屏方法还包括如下步骤:
S21、基于投屏设备的协商配置参数与被投屏设备本地的协商配置参数,确定目标热点设备。
S22、若被投屏设备为目标热点设备,则将投屏设备接入目标热点设备中,或者,若投屏设备为目标热点设备,则将被投屏设备接入目标热点设备中。
其中,投屏设备的协商配置参数以及被投屏设备的协商配置参数,是设备内部的配置文件中预先存在的,若配置文件中预先不存在该协商配置参数,设备自身会使用随机数自动生成协商配置参数。
投屏设备在向被投屏设备发送投屏请求消息时,从本地配置文件中读取协商配置参数,然后将读取到的协商配置参数,按照预设报文格式填充至发送投屏请求消息报文中,便可伴随操作类型参数、预设目标信道参数一同发送至被投屏设备中。
被投屏设备在接收到投屏请求消息时,通过解析接收到的投屏请求消息报文,可从中获取到投屏设备的协商配置参数。在执行步骤S21时,被投屏设备在解析得到投屏设备的协商配置参数后,基于读取自身本地的协商配置参数,确定具体是投屏设备作为目标热点设备,还是被投屏设备作为目标热点设备。
作为一种实施方式,在执行步骤S21时,确定目标热点设备具体包括:
若被投屏设备的协商配置参数大于投屏设备的协商配置参数,则确定被投屏设备作为目标热点设备。
若被投屏设备的协商配置参数小于投屏设备的协商配置参数,则确定该投屏设备作为目标热点设备。
作为一种示例,将投屏设备与被投屏设备的go_intent参数确定为协商配置参数,则被投屏设备通过接收投屏设备发送的投屏请求消息中携带的go_intent参数,与自身本地的go_intent参数进行比较,若被投屏设备的go_intent参数大于投屏设备的go_intent参数,则确定该被投屏设备作为目标热点设备。若否,则确定投屏设备作为目标热点设备。
作为一种实施方式,将目标热点设备确定为目标AP(Access Point,接入热点),将接入该目标AP的各个设备确定为目标GC(Group Client,接入客户端)。此时,若被投屏设备为目标AP,则投屏设备为目标GC。若投屏设备为目标AP,则被投屏设备为目标GC。通过操作类型参数与预设目标信道参数表征的预设热点信道,确定目标热点信道后,目标GC通过该目标热点信道接入目标AP中。
选用本申请实施例,投屏设备与被投屏设备通过协商配置参数自行协商出可作为目标热点设备的一方,然后将另一方借助目标热点信道自行接入到该目标热点设备中。如此,可无需人工手动修改配置文件以确定目标热点设备,有助于自动实现精准投屏。
在一些实施例中,本申请提供的投屏方法还可如图3所示,包括如下步骤:
S31、基于预设修改条件修改目标源码,其中,目标源码用于解析投屏请求消息报文;
S32、基于修改后的目标源码,对投屏请求消息进行解析,获取投屏请求消息中携带的操作类型参数与预设目标信道参数。
在步骤S31中,目标源码用于解析投屏请求消息报文,作为一种实施方式,目标源码可以为wpa_suppliant的源码,该wpa_suppliant源码中包括解析投屏请求消息报文的具体执行步骤、具体解析方法以及输出要求,其中,输出要求为解析报文后需要输出的参数。
在本申请实施例中,预设修改条件为按照目标输出参数要求,修改目标源码中针对投屏请求消息报文解析输出参数部分代码。核心用于修改目标源码中解析报文的输出要求,使得修改后的目标源码按照预设修改条件规定的输出要求输出参数。
作为一种实施方式,在执行步骤S31时,若预设修改条件为:修改wpa_supplicant目标源码的解码对象为P2P invite或者P2P Go Neg Req报文,并修改wpa_supplicant目标源码中的输出参数为p2p_reg_class信道参数、p2p_opchannel信道参数。
基于此,在执行步骤S32时,通过获取投屏设备发送来的P2P invite或者P2P GoNeg Req报文,自动借助该修改后的目标源码,解析报文中携带的operating参数中的p2p_reg_class信道参数、p2p_opchannel信道参数,并将解析得到的p2p_reg_class信道参数、p2p_opchannel信道参数分别作为操作类型参数、预设目标信道参数进行输出。
在一些实施例中,执行上述步骤S13时,通过如下步骤确定得到目标通信信道:
若预设目标信道参数所表征的投屏信道为操作类型参数所表征的信道集合中的信道,确定该投屏设备请求使用的投屏信道为目标通信信道。
作为一种实施方式,操作类型参数与预设目标信道参数本质是msg.operating_channel数组中的两个不同的数值。操作类型参数用于表征可用的信道集合,预设目标信道参数表征投屏设备当前可用的投屏信道。作为一种示例,操作类型参数为op_class参数,该参数表征投屏设备所支持的空闲信道。比如,op_class为125时,则表明投屏设备所支持的空闲信道包括:149、153、157、161、165这几个信道。预设目标信道参数为op_channel参数,该参数表明投屏设备所请求使用的目标信道为该参数对应的信道,比如op_channel为161时,则表明投屏设备请求使用161这个信道。此时,当op_channel=161为op_class表征的空闲信道集合中的一个,则确定161这个信道为目标信道。
在此基础上,被投屏设备将msg.operating_channel数组中的p2p_reg_class信道参数、p2p_opchannel信道参数分别赋值到执行代码内部,即:
p2p->op_channel=msg.operating_channel[4];
p2p->op_reg_class=msg.operating_channel[3];
如此,当被投屏设备收到的是P2P GO Neg Requset请求时,执行上述代码的赋值操作。再执行p2p_connect()函数,调用到p2p_prepare_channel(),通过在该函数中判断p2p->op_channel和p2p->op_reg_class是否满足预设配置条件。如满足,就将p2p->cfg->cfg_op_channel设置为1,以表示将使用已配置的op_channel和p2p_reg_class,即使用投屏设备的operating参数,构建GO requset帧,这样可以使Miracast通讯信道为投屏设备所期望的信道。
而当投屏设备发送的请求为P2P Invite Req时,通过增加use_peer_pre_op_ch标记位。具体的,当msg.operating_channel[3]与msg.operating_channel[4]表征信道正常可用时,标记位置位为1。此时,不再进行p2p_reselect_channel()函数的调用,即停止使用原先的信道选择逻辑,而是直接使用投屏设备的operating参数,构建P2P InvitResponse帧,将投屏设备可用的热点信道确定为目标信道。
如此,本申请通过修改wpa_suppliant代码,在被投屏设备不连接WiFi的情况下,实现解析投屏设备发来的Go Neg Req和P2P Invite Req数据帧,将数据帧中的信道参数解析出来,并使用其中的op_channel参数作为投屏设备与被投屏设备之间的信道参数,将该op_channel参数表征的空闲信道作为目标信道,以便创建热点,然后供对方设备连接,以实现进行WiFi投屏时的数据交互。
其中,收到投屏设备(如:手机)发送的P2P Invitation Request请求帧,wifi模块从收到的数据帧中将Operating参数解析出来,当参数可用时,就如前所述在代码中添加标记位,表示使用对端的Operating参数,然后构建P2P Invit Response回复帧。当手机收到后,就会使用他期望的信道来跟被投屏设备建立Miracast连接。如图4所示,其中流程图只画出关键部分,其它部分仍遵循系统原始流程,不做陈诉。
如图5所示,收到投屏设备(如:手机)发送的P2P Go Neg Request时,由于被投屏设备需要用户确认是否接受请求。因此会先判断Operating参数是否可用,可用时会先执行前面提供的代码将msg.operating_channel[4]和msg.operating_channel[3]参数保存下来,然后构建P2P GO Neg Response帧,并将数据帧的state字段填充为Not Ready,用于回应手机的GO Neg Request请求。等到用户确认接受请求,即同意建立Miracast连接后,会执行p2p_connect()方法,在构建Go Neg Request请求帧时,会判断有没有保存对端的Operating参数,如果有就使用对端参数。同样流程图只显示本申请实施例相关部分,至于后续手机收到GO Request后,回复Response,被投屏设备收到Response再回复confirm帧,因遵循原始流程且与本申请实施例无关,因此不做描述。
选用本申请实施例,相较于传统需要人工手动修改配置文件的技术方案,本申请各项操作均由系统自动完成。并且,相较于被投屏设备随机选择目标信道,容易导致所随机选取的目标信道与投屏设备可支持使用的信道不一致导致的投屏存在时延的情况,本申请所提供的投屏方案通过投屏设备主动将可用的目标信道告知被投屏设备,省去被投屏设备随机选择目标信道带来的不可靠性,有利于提高投屏效率。
其中,在执行步骤S13时,可参考现有的投屏数据接收以及显示相关的技术文档,此处不再赘述。
第二方面,本申请提供了一种投屏装置,如图6所示,该装置应用于被投屏设备,该被投屏设备尚未接入无线局域网络,该装置600包括:
报文接收模块601,用于获取投屏设备发送的投屏请求消息,其中,该投屏请求消息中携带有操作类型参数和预设目标信道参数,该操作类型参数用于表征该投屏设备支持的空闲信道集合,该预设目标信道参数用于表征该投屏设备请求使用的投屏信道;
通信连接模块602,用于若该操作类型参数与该预设目标信道参数满足预设配置条件,基于该操作类型参数与该预设目标信道参数,以该操作类型参数表征的空闲信道作为目标通信信道,与该投屏设备构建通信连接;
投屏显示模块603,用于接收该投屏设备从该目标通信信道传输的投屏数据,并显示。
结合第二方面,在一种可能的实施例中,该投屏请求消息中携带有该投屏设备的协商配置参数,该装置600还包括:
确定模块604,用于基于该投屏设备的协商配置参数与该被投屏设备本地的协商配置参数,确定目标热点设备;
热点接入模块605,用于若该被投屏设备为目标热点设备,则将该投屏设备接入该目标热点设备中;或者,若该投屏设备为目标热点设备,则将该被投屏设备接入该目标热点设备中。
结合第二方面,在另一种可能的实施例中,该确定模块604具体用于:
若该投屏设备的协商配置参数大于该被投屏设备的协商配置参数,则确定该投屏设备为目标热点设备;
或者,若该被投屏设备的协商配置参数大于该投屏设备的协商配置参数,则确定该被投屏设备作为目标热点设备。
结合第二方面,在另一种可能的实施例中,该装置600还包括:
代码修改模块606,用于基于预设修改条件修改目标源码,其中,目标源码用于解析投屏请求消息报文;
该报文接收模块601,还用于基于修改后的目标源码,对投屏请求消息进行解析,获取投屏请求消息中携带的操作类型参数与预设目标信道参数。
结合第二方面,在另一种可能的实施例中,通信连接模块602具体用于:
若预设目标信道参数所表征的投屏信道为操作类型参数所表征的信道集合中的信道,确定投屏设备请求使用的投屏信道为目标通信信道。
本申请实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
第三方面,本申请还提供一种投屏系统,如图7所示,该投屏系统包括投屏设备与被投屏设备,该被投屏设备尚未接入无线局域网络,其中:
该投屏设备通过预设网卡模块向该被投屏设备发送投屏请求消息,其中,该投屏请求消息中携带有操作类型参数和预设目标信道参数,该操作类型参数用于表征该投屏设备支持的空闲信道集合,该预设目标信道参数用于表征该投屏设备请求使用的投屏信道;
该被投屏设备接收该投屏请求消息,并解析,得到该操作类型参数与该预设目标信道参数,若该操作类型参数与该预设目标信道参数满足预设配置条件,基于该操作类型参数与该预设目标信道参数,以该操作类型参数表征的空闲信道作为目标通信信道,与该投屏设备构建通信连接;
该投屏设备通过该目标通信信道接收投屏数据;该被投屏设备从该目标通信信道接收该投屏数据,并显示。
第四方面,本申请还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。存储器存储有能够被至少一个处理器执行的计算机程序,计算机程序在被至少一个处理器执行时用于使电子设备执行根据本申请实施例的方法。
第五方面,本申请还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,计算机程序在被计算机的处理器执行时用于使计算机执行根据本申请实施例的方法。
第六方面,本申请还提供一种计算机程序产品,包括计算机程序,其中,计算机程序在被计算机的处理器执行时用于使计算机执行根据本申请实施例的方法。
参考图8,现将描述可以作为本申请的服务器或客户端的电子设备800的结构框图,其是可以应用于本申请的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806、输出单元807、存储单元808以及通信单元809。输入单元806可以是能向电子设备800输入信息的任何类型的设备,输入单元806可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元807可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元808可以包括但不限于磁盘、光盘。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理。例如,在一些实施例中,前述投屏方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM802和/或通信单元809而被载入和/或安装到电子设备800上。在一些实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行前述投屏方法。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本申请使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
Claims (12)
1.一种投屏方法,其特征在于,所述方法应用于被投屏设备,所述被投屏设备尚未接入无线局域网络,所述方法包括:
获取投屏设备发送的投屏请求消息,其中,所述投屏请求消息中携带有操作类型参数和预设目标信道参数,所述操作类型参数用于表征所述投屏设备支持的空闲信道集合,所述预设目标信道参数用于表征所述投屏设备请求使用的投屏信道;
若所述操作类型参数与所述预设目标信道参数满足预设配置条件,确定所述投屏设备请求使用的投屏信道为目标通信信道,并基于所述目标通信信道与所述投屏设备构建通信连接;
接收所述投屏设备从所述目标通信信道传输的投屏数据,并显示。
2.根据权利要求1所述的方法,其特征在于,所述投屏请求消息中还携带有所述投屏设备的协商配置参数,所述方法还包括:
基于所述投屏设备的协商配置参数与所述被投屏设备本地的协商配置参数,确定目标热点设备;
若所述被投屏设备为目标热点设备,则将所述投屏设备接入所述目标热点设备中;或者,若所述投屏设备为目标热点设备,则将所述被投屏设备接入所述目标热点设备中。
3.根据权利要求2所述的方法,其特征在于,所述确定目标热点设备包括以下情形:
若所述投屏设备的协商配置参数大于所述被投屏设备的协商配置参数,则确定所述投屏设备为目标热点设备;
或者,若所述被投屏设备的协商配置参数大于所述投屏设备的协商配置参数,则确定所述被投屏设备作为目标热点设备。
4.根据权利要求1所述的方法,其特征在于,所述若所述操作类型参数与所述预设目标信道参数满足预设配置条件,确定所述投屏设备请求使用的投屏信道为目标通信信道,包括:
若所述预设目标信道参数所表征的投屏信道为所述操作类型参数所表征的信道集合中的信道,确定所述投屏设备请求使用的投屏信道为目标通信信道。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于预设修改条件修改目标源码,其中,所述目标源码用于解析投屏请求消息报文;
基于修改后的目标源码,对所述投屏请求消息进行解析,获取所述投屏请求消息中携带的操作类型参数与预设目标信道参数。
6.一种投屏装置,其特征在于,所述装置应用于被投屏设备,所述被投屏设备尚未接入无线局域网络,所述装置包括:
报文接收模块,用于取投屏设备发送的投屏请求消息,其中,所述投屏请求消息中携带有操作类型参数和预设目标信道参数,所述操作类型参数用于表征所述投屏设备支持的空闲信道集合,所述预设目标信道参数用于表征所述投屏设备请求使用的投屏信道;
通信连接模块,用于若所述操作类型参数与所述预设目标信道参数满足预设配置条件,确定所述投屏设备请求使用的投屏信道为目标通信信道,并基于所述目标通信信道与所述投屏设备构建通信连接;
投屏显示模块,用于接收所述投屏设备从所述目标通信信道传输的投屏数据,并显示。
7.根据权利要求6所述的装置,其特征在于,所述投屏请求消息中携带有所述投屏设备的协商配置参数,所述装置还包括:
确定模块,用于基于所述投屏设备的协商配置参数与所述被投屏设备本地的协商配置参数,确定目标热点设备;
热点接入模块,用于若所述被投屏设备为目标热点设备,则将所述投屏设备接入所述目标热点设备中;或者,若所述投屏设备为目标热点设备,则将所述被投屏设备接入所述目标热点设备中。
8.根据权利要求7所述的装置,其特征在于,所述确定模块具体用于确定以下情形:
若所述投屏设备的协商配置参数大于所述被投屏设备的协商配置参数,则确定所述投屏设备为目标热点设备;
或者,若所述被投屏设备的协商配置参数大于所述投屏设备的协商配置参数,则确定所述被投屏设备作为目标热点设备。
9.根据权利要求6所述的装置,其特征在于,所述通信连接模块具体用于:
若所述预设目标信道参数所表征的投屏信道为所述操作类型参数所表征的信道集合中的信道,确定所述投屏设备请求使用的投屏信道为目标通信信道。
10.一种投屏系统,其特征在于,所述投屏系统包括投屏设备与被投屏设备,所述被投屏设备尚未接入无线局域网络,其中:
所述投屏设备通过预设网卡模块向所述被投屏设备发送投屏请求消息,其中,所述投屏请求消息中携带有操作类型参数和预设目标信道参数,所述操作类型参数用于表征所述投屏设备支持的空闲信道集合,所述预设目标信道参数用于表征所述投屏设备请求使用的投屏信道;
所述被投屏设备接收所述投屏请求消息,并解析,得到所述操作类型参数与所述预设目标信道参数,若所述操作类型参数与所述预设目标信道参数满足预设配置条件,确定所述投屏设备请求使用的投屏信道为目标通信信道,并基于所述目标通信信道与所述投屏设备构建通信连接;
所述投屏设备通过所述目标通信信道接收投屏数据;所述被投屏设备从所述目标通信信道接收所述投屏数据,并显示。
11.一种电子设备,其特征在于,所述电子设备包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311536424.5A CN117311657A (zh) | 2023-11-16 | 2023-11-16 | 一种投屏方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311536424.5A CN117311657A (zh) | 2023-11-16 | 2023-11-16 | 一种投屏方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117311657A true CN117311657A (zh) | 2023-12-29 |
Family
ID=89246678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311536424.5A Pending CN117311657A (zh) | 2023-11-16 | 2023-11-16 | 一种投屏方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117311657A (zh) |
-
2023
- 2023-11-16 CN CN202311536424.5A patent/CN117311657A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11910072B2 (en) | Multi-screen interactive display method and apparatus | |
EP2854342A1 (en) | Multi-screen interaction method, apparatus, and terminal device | |
EP2933982B1 (en) | Media stream transfer method and user equipment | |
US20170171496A1 (en) | Method and Electronic Device for Screen Projection | |
US20150215579A1 (en) | Method, apparatus, system, and storage medium for video call and video call control | |
CN111309279A (zh) | 多屏互动显示方法及装置 | |
US10104153B2 (en) | Method and device for processing information | |
US11647364B2 (en) | Special effect synchronization method, device, and storage medium | |
US11758087B2 (en) | Multimedia conference data processing method and apparatus, and electronic device | |
CN114697879B (zh) | 蓝牙配对方法、电子设备、芯片和存储介质 | |
WO2021223454A1 (zh) | 投屏方法和系统 | |
WO2019062667A1 (zh) | 会议内容的传输方法及装置 | |
WO2021042612A1 (zh) | 无线投屏方法、装置、设备及存储介质 | |
WO2016150191A1 (zh) | 一种数据共享方法及装置 | |
CN112153457A (zh) | 无线投屏连接方法、装置、计算机存储介质及电子设备 | |
CN114221909B (zh) | 数据传输方法、装置、终端及存储介质 | |
CN1980132A (zh) | 基于闪联协议的电视机无线上网的实现方法 | |
US9485458B2 (en) | Data processing method and device | |
CN117311657A (zh) | 一种投屏方法、装置及电子设备 | |
CN115883572A (zh) | 外设共享方法及装置 | |
US11463655B2 (en) | Mediation method and computer readable recording medium | |
CN113918108A (zh) | 投屏方法和相应电子设备及系统 | |
CN110990109A (zh) | 一种拼接屏回显方法、终端、系统及存储介质 | |
CN105122822A (zh) | 用于音视频的无线对接系统 | |
CN109661040B (zh) | 电子设备及其无线连接方法和具有存储功能的装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |