CN114063951B - 投屏异常处理方法及电子设备 - Google Patents
投屏异常处理方法及电子设备 Download PDFInfo
- Publication number
- CN114063951B CN114063951B CN202111205897.8A CN202111205897A CN114063951B CN 114063951 B CN114063951 B CN 114063951B CN 202111205897 A CN202111205897 A CN 202111205897A CN 114063951 B CN114063951 B CN 114063951B
- Authority
- CN
- China
- Prior art keywords
- screen projection
- screen
- application
- virtual display
- equipment
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title description 3
- 238000000034 method Methods 0.000 claims abstract description 119
- 238000005266 casting Methods 0.000 claims description 49
- 230000006870 function Effects 0.000 claims description 45
- 238000004590 computer program Methods 0.000 claims description 18
- 230000002159 abnormal effect Effects 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 13
- 239000004973 liquid crystal related substance Substances 0.000 claims description 2
- 238000004891 communication Methods 0.000 abstract description 41
- 238000012545 processing Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 30
- 238000007726 management method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000003993 interaction Effects 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 11
- 230000005236 sound signal Effects 0.000 description 11
- 210000000988 bone and bone Anatomy 0.000 description 10
- 230000004044 response Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 4
- 238000003825 pressing Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000008093 supporting effect Effects 0.000 description 2
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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
-
- 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/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
-
- 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/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2330/00—Aspects of power supply; Aspects of display protection and defect management
- G09G2330/02—Details of power systems and of start or stop of display operation
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2330/00—Aspects of power supply; Aspects of display protection and defect management
- G09G2330/02—Details of power systems and of start or stop of display operation
- G09G2330/026—Arrangements or methods related to booting a display
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2354/00—Aspects of interface with display user
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/16—Use of wireless transmission of display information
Abstract
本申请提供了一种投屏异常处理方法及电子设备,涉及通信技术领域。通过本申请方案,在投屏源设备通过投屏应用向投屏目标设备投屏时,若投屏应用异常关闭,则在投屏应用重新开启之后,将虚拟显示驱动的状态设置为禁用状态,这样虚拟显示驱动不会再创建虚拟显示器,因此在虚拟显示器不存在的情况下,投屏源设备就无法抓取用于投屏的图像,因此在投屏应用重启后的非投屏场景中,当用户选择投屏源设备本机投屏功能中的仅第二屏幕显示选项时,投屏源设备显示屏正常显示,而不会出现黑屏现象。
Description
本申请要求于2021年9月26日提交国家知识产权局、申请号为202111130333.2、申请名称为“投屏异常处理方法及电子设备”的中国专利临时申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种投屏异常处理方法及电子设备。
背景技术
随着终端技术及通信技术的发展,电子设备之间的投屏应用越来越普及。电子设备(称为投屏源设备)与另一电子设备(称为投屏目标设备)之间在建立投屏连接之后,投屏源设备向投屏目标设备进行无线投屏。
在投屏过程中,如果投屏源设备异常关机(例如由用户的非正规关机操作触发,或者由设备断电原因触发),那么会导致投屏源设备与投屏目标设备之间的投屏业务失效。
然而,在投屏源设备重新启动之后,若用户按压投屏源设备的Windows+P键可触发投屏源设备显示多个投屏选项,例如“仅本机屏幕显示”选项、“复制”选项、“扩展”选项、“仅第二屏幕显示”选项。若用户选择“仅第二屏幕显示”选项,则投屏源设备的显示屏在非投屏场景中会出现黑屏现象,并且通过重新启动投屏源设备也无法解决上述问题。而通常在非投屏场景中,当用户选择本机投屏功能中的“仅第二屏幕显示”选项时,本机显示屏并不会出现黑屏现象。
发明内容
本申请提供一种投屏异常处理方法及电子设备,解决了由于投屏过程中投屏源设备异常关机,导致投屏源设备重启后在非投屏场景中会出现黑屏现象的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种投屏异常处理方法,该方法包括:
投屏源设备通过投屏应用向投屏目标设备投屏;在投屏应用异常关闭的情况下,投屏源设备重新开启投屏应用;投屏源设备检测到虚拟显示驱动处于启用状态,投屏源设备将虚拟显示驱动的状态设置为禁用状态。
其中,投屏应用为投屏源设备中安装的用于触发设备间投屏的应用程序;虚拟显示驱动是投屏源设备中用于实现投屏功能的驱动程序;
通过本申请方案,在投屏源设备通过投屏应用向投屏目标设备投屏时,若投屏应用异常关闭,则在投屏应用重新开启之后,将虚拟显示驱动的状态设置为禁用状态,这样虚拟显示驱动不会再创建虚拟显示器,因此在虚拟显示器不存在的情况下,投屏源设备就无法抓取用于投屏的图像,因此在投屏应用重启后的非投屏场景中,当用户选择投屏源设备本机投屏功能中的“仅第二屏幕显示”选项时,投屏源设备显示屏正常显示,而不会出现黑屏现象。
在一种可能实现方式中,上述方法还可以包括:投屏源设备检测到投屏源设备中的注册表中有显示器参数;投屏源设备删除注册表中的显示器参数。其中,注册表为存储投屏目标设备的显示器参数的存储区域。
在一种可能实现方式中,上述方法还可以包括:当投屏应用异常关闭时,投屏源设备断开与投屏目标设备之间的投屏连接。
在一种可能实现方式中,在投屏源设备将虚拟显示驱动的状态设置为禁用状态之后,上述方法还可以包括:当虚拟显示驱动处于禁用状态时,投屏源设备禁止虚拟显示驱动创建虚拟显示器;其中,虚拟显示器所显示的图像用于在投屏时由投屏目标设备显示。
在一种可能实现方式中,在投屏源设备将虚拟显示驱动的状态设置为禁用状态之后,和/或在投屏源设备删除注册表中的显示器参数之后,上述方法还可以包括:投屏源设备接收到用户的第一输入,第一输入仅用于触发投屏目标设备的屏幕显示;投屏源设备不响应第一输入。
在一种可能实现方式中,在投屏应用异常关闭的情况下,投屏源设备重新开启投屏应用,具体包括:在投屏应用异常关闭的情况下,投屏源设备自动开启投屏应用;或者,在投屏应用异常关闭的情况下,响应于用户触发操作,投屏源设备重新开启投屏应用。
在一种可能实现方式中,当投屏应用异常关闭时,投屏源设备重新开启投屏应用,具体包括:当投屏源设备异常关机时,投屏应用异常关闭;响应于用户的第二输入,投屏源设备重新启动并开启投屏应用。
在一种可能实现方式中,应用于投屏源设备,投屏源设备安装有投屏应用,与投屏应用对应的Windows接口,以及虚拟显示驱动,并且投屏源设备设置有注册表;
其中,上述投屏源设备通过投屏应用向投屏目标设备投屏,包括:
投屏源设备通过投屏应用,建立与投屏目标设备之间的投屏连接;
投屏源设备通过投屏连接,获取投屏目标设备的显示器参数;
投屏源设备通过投屏应用,将投屏目标设备的显示器参数写入预设路径的注册表;
投屏源设备通过投屏应用调用Windows接口,将虚拟显示驱动设置为启用状态;其中,Windows接口为投屏源设备安装的与投屏应用对应的应用程序接口;
投屏源设备通过虚拟显示驱动,从注册表中读取投屏目标设备的显示器参数;
投屏源设备通过虚拟显示驱动,根据投屏目标设备的显示器参数创建虚拟显示器;
虚拟显示驱动通过Windows接口,向投屏应用反馈虚拟显示器创建成功;
投屏源设备通过投屏应用,获取虚拟显示器显示的图像,作为投屏图像;其中,虚拟显示器显示的图像为投屏源设备中显示的图像;
投屏源设备通过投屏应用,向投屏目标设备发送投屏图像。
在一种可能实现方式中,投屏源设备检测到虚拟显示驱动处于启用状态,包括:投屏源设备通过投屏应用调用Windows接口,检测到虚拟显示驱动处于启用状态;
投屏源设备将虚拟显示驱动的状态设置为禁用状态,包括:投屏源设备通过投屏应用调用Windows接口,将虚拟显示驱动的状态设置为禁用状态。
在一种可能实现方式中,投屏源设备检测到投屏源设备中的注册表中有显示器参数,包括:投屏源设备通过投屏应用调用Windows接口,检测到投屏源设备中的注册表中有显示器参数;
投屏源设备删除注册表中的显示器参数,包括:投屏源设备通过投屏应用调用Windows接口,删除注册表中的显示器参数。
在一种可能实现方式中,投屏源设备通过投屏应用,建立与投屏目标设备之间的投屏连接,包括:
投屏源设备接收到用户在投屏应用的应用图标上的第三输入,该第三输入用于触发投屏源设备与投屏目标设备建立投屏连接;
响应于第三输入,投屏源设备搜索到投屏目标设备,并显示投屏目标设备的标识;
投屏源设备接收到用户的第四输入,第四输入用于选择投屏目标设备的标识;
响应于第四输入,投屏源设备与投屏目标设备建立投屏连接。
在一种可能实现方式中,投屏目标设备的显示器参数包括以下至少一项:显示屏的显示尺寸、分辨率和刷新率。
第二方面,本申请提供一种投屏异常处理装置,该装置包括用于执行上述第一方面中的方法的单元。该装置可对应于执行上述第一方面中描述的方法,该装置中的单元的相关描述请参照上述第一方面的描述,为了简洁,在此不再赘述。
其中,上述第一方面描述的方法可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,处理模块或单元、显示模块或单元等。
第三方面,本申请提供一种电子设备,该电子设备包括处理器,处理器与存储器耦合,存储器用于存储计算机程序或指令,处理器用于执行存储器存储的计算机程序或指令,使得第一方面中的方法被执行。
例如,处理器用于执行存储器存储的计算机程序或指令,使得该装置执行第一方面中的方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有用于实现第一方面中的方法的计算机程序(也可称为指令或代码)。
例如,该计算机程序被计算机执行时,使得该计算机可以执行第一方面中的方法。
第五方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。
可选地,该芯片还包括存储器,存储器与处理器通过电路或电线连接。
第六方面,本申请提供一种芯片系统,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。
可选地,该芯片系统还包括存储器,存储器与处理器通过电路或电线连接。
第七方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机程序(也可称为指令或代码),该计算机程序被计算机执行时使得该计算机实现第一方面中的方法。
可以理解的是,上述第二方面至第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的一种投屏异常处理方法的应用场景示意图;
图2为本申请实施例提供的一种投屏异常处理方法的流程示意图;
图3A至图3E分别为本申请实施例提供的一种投屏异常处理方法中投屏场景示意图;
图4为本申请实施例提供的一种投屏异常处理方法中各模块交互的流程示意图;
图5为本申请实施例提供的一种投屏异常处理方法中各模块交互的另一示意图;
图6为本申请实施例提供的一种投屏异常处理方法的另一流程示意图;
图7为本申请实施例提供的一种投屏异常处理方法的另一流程示意图;
图8为本申请实施例提供的一种投屏异常处理方法的另一流程示意图;
图9为本申请实施例提供的一种投屏异常处理方法应用的系统架构示意图;
图10为本申请实施例提供的一种投屏异常处理方法中各模块交互的流程示意图;
图11为本申请实施例提供的一种投屏异常处理方法应用的另一系统架构示意图;
图12为本申请实施例提供的一种投屏异常处理方法的另一流程示意图;
图13为本申请实施例提供的一种投屏异常处理装置的结构示意图;
图14为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本文中符号“/”表示关联对象是或者的关系,例如A/B表示A或者B。
本文中的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一输入和第二输入等是用于区别不同的输入,而不是用于描述输入的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或者两个以上,例如,多个处理单元是指两个或者两个以上的处理单元等;多个元件是指两个或者两个以上的元件等。
图1示出了本申请的各个示例性实施例所涉及的系统架构示意图。如图1所示,该系统架构包括投屏源设备10和投屏目标设备20。其中,投屏源设备10和投屏目标设备20之间可以通过无线通信技术建立并保持无线连接。当投屏源设备10和投屏目标设备20处于同一局域网中时,投屏源设备10可以发起向投屏目标设备20进行投屏。
示例性地,假设投屏源设备10和投屏目标设备20均处于开机状态且处于同一局域网(例如Wi-Fi网络)中,在投屏源设备10开启投屏功能后,投屏源设备10可以搜索所有支持投屏的设备,在投屏源设备10发现投屏目标设备20后,投屏源设备10可以基于投屏协议与投屏目标设备20协商进行投屏,在协商完成后,投屏源设备10可以将投屏源设备10的屏幕显示内容投射到投屏目标设备20的屏幕上进行显示。
其中,上述投屏源设备10可以为笔记本电脑、平板电脑、个人计算机(personalcomputer,PC)等具有显示屏的电子设备,投屏目标设备20可以为智能电视或平板电脑等具有显示屏的电子设备,本申请实施例对通信系统中的电子设备的设备类型不予具体限定。
示例性地,投屏源设备10中可以安装有电脑管家应用程序(application,APP),该电脑管家APP可以包括电脑投屏功能选项,投屏源设备10可以通过电脑管家APP将Windows系统桌面扩展在平板电脑或者大屏设备等投屏目标设备20上显示。
如图1中(a)所示,投屏源设备10与投屏目标设备20建立无线投屏连接,并且投屏源设备10向投屏目标设备20进行无线投屏。
当投屏源设备10异常关机(例如由用户的非正规关机操作触发,或者由设备断电原因触发)时,则会导致电脑管家APP异常关闭。投屏源设备10与投屏目标设备20之间的无线投屏连接由于电脑异常关闭而断开,在此情况下,投屏源设备10不再向投屏目标设备20进行投屏。为了便于描述,可以将多个设备之间未建立无线投屏连接的这种场景称为非投屏场景。
如图1中(b)所示,在投屏源设备10重新启动之后,用户按压投屏源设备10的Windows+P键可以触发投屏源设备10显示多个投屏选项,例如“仅本机屏幕显示”选项、“复制”选项、“扩展”选项、“仅第二屏幕显示”选项。若用户选择“仅第二屏幕显示”选项,则如图1中(c)所示,投屏源设备10的显示屏在非投屏场景中出现了黑屏现象,并且通过重新启动设备也无法解决上述问题。而通常在非投屏场景中,当用户选择本机投屏功能中的“仅第二屏幕显示”选项时,本机显示屏并不会出现黑屏现象。
本申请方案认为导致上述问题的原因在于:在某些非投屏场景或者无线投屏连接异常断开的场景中,由于用于无线投屏的虚拟显示驱动仍然处于启用状态,而启用状态的虚拟显示驱动会创建用于投屏显示的虚拟显示器,而虚拟显示器的存在便会导致当用户选择本机投屏功能中仅第二屏幕显示选项时出现本机黑屏的问题。
鉴于此,本申请提出了一种投屏异常处理方法,增加异常判断机制:在电脑管家APP异常关闭后重新开启的情况下,检查虚拟显示驱动是否处于启用状态,如果虚拟显示驱动处于启用状态,则禁用虚拟显示驱动;和/或,检查注册表中是否存在显示器参数,如果注册表中存在显示器参数,则清除注册表中的显示参数。如此,虚拟显示驱动在禁用状态下将不会创建用于投屏显示的虚拟显示器,在此情况下,当用户选择本机投屏功能中的“仅第二屏幕显示”选项时,本机显示屏并不会出现黑屏现象。
本申请实施例提供的投屏异常处理方法的执行主体可以为电子设备(例如投屏源设备),也可以为该电子设备中能够实现该投屏异常处理方法的功能模块和/或功能实体,并且本申请方案能够通过硬件和/或软件的方式实现,具体的可以根据实际使用需求确定,本申请实施例不作限定。下面以投屏源设备为例,结合附图对本申请实施例提供的投屏异常处理方法进行示例性的说明。
图2是本申请实施例提供的投屏异常处理方法的流程示意图。参照图2所示,该方法包括下述的步骤S101-S103。
S101,投屏源设备通过投屏应用向投屏目标设备投屏。
其中,投屏应用为投屏源设备中安装的用于触发设备间投屏的应用程序。示例性地,如图3A所示,投屏源设备10中安装有电脑管家APP,电脑管家APP可以支持投屏功能,如图3B所示,电脑管家APP的用户界面(user interface,UI)中显示有电脑投屏选项,用户可以在电脑管家APP的UI界面中选择电脑投屏选项,触发电脑管家APP调用投屏应用程序。
下面先描述通过用户在投屏源设备的投屏应用上操作触发投屏源设备向投屏目标设备投屏的过程。图3A至图3E分别示出了用户通过电脑管家APP触发投屏的人机交互界面示意图。下面结合图3A至图3E,以投屏源设备为笔记本电脑,投屏目标设备为智能电视为例进行示例性说明。
如图3A所示,笔记本电脑10接收到用户在电脑管家APP上的输入,例如用户点击电脑管家APP的图标。如图3B所示,响应于用户对电脑管家APP的操作,笔记本电脑10显示电脑管家APP的UI界面,在电脑管家APP的UI界面中包括电脑投屏对应的用户操作窗口。
在该电脑投屏对应的用户操作窗口中显示有投屏模式选项。投屏模式选项包括镜像模式选项和扩展模式选项。其中,在镜像模式下,可以在连接设备上镜像显示电脑屏幕内容,在扩展模式下,可以在连接设备上扩展显示电脑屏幕内容。
在该用户操作窗口中还显示有用于触发建立无线投屏连接的控件,例如“立即连接”控件。其中,立即连接控件用于触发笔记本电脑与智能电视建立投屏连接。如图3C所示,响应于用户对“立即连接”控件的输入(例如点击操作),笔记本电脑10搜索附近所有支持投屏的设备,并将搜索到的一个或更多个设备的标识(例如设备名称)展示给用户选择。如图3C所示,笔记本电脑10搜索到智能电视20,并显示智能电视20的标识。
需要说明的是,本申请实施例以“电脑管家APP”的命名为例示出,但其他具有相同或相似功能的APP同样适用于本申请实施例;另外,本申请实施例以“立即连接”的命名为例示出,但其他具有相同或相似功能的命名同样适用于本申请实施例,比如“一键投屏”、“开启投屏”等。
在一些实施例中,若笔记本电脑10上具有其他开启投屏功能的入口,也可通过其他入口输入投屏操作。比如,在Windows设置界面,具有开启投屏的功能按钮。
在一些场景中,如果用户想要将手机的显示内容投屏至智能电视,则可以通过手机中的“无线投屏”或“镜像投屏”开关输入上述投屏操作。
进一步地,如图3C所示,笔记本电脑10接收用户选中(例如点击)设备20(即智能电视)标识的操作。
在一些实施例中,用户还可以通过语音输入对智能电视的选择操作,例如,用户通过PC的麦克风语音输入“设备2”,麦克风接收到该声音信号后,可以转换为电信号并发送至电脑管家APP。
进一步地,响应于上述选择操作,笔记本电脑10建立与智能电视20的投屏连接。
进一步地,笔记本电脑10获取待投屏数据(称为投屏图像),将该待投屏数据发送至智能电视,以使智能电视显示投屏图像。
可选地,笔记本电脑10可以按照用户所选的镜像模式或者扩展模式,向智能电视20进行投屏。
如图3D所示,在镜像模式下,可以在智能电视20上镜像显示笔记本电脑10的屏幕内容,此时这两个设备屏幕显示内容保持一致。
如图3E所示,在扩展模式下,可以在智能电视20上扩展显示笔记本电脑10的屏幕内容,此时这两个设备屏幕显示内容可以不同。
如上所述,投屏源设备通过投屏应用先建立与投屏目标设备之间的投屏连接,然后投屏源设备通过投屏应用向投屏目标设备投屏。
在一些场景中,若用户不再需要将PC投屏至智能电视,如前面图3D或图3E所示,可在电脑管家APP的界面上点击“断开连接”按钮,电脑管家APP接收到断开操作后,向PC的发现连接模块发送断开消息,PC的发现连接模块可以调用Wi-Fi芯片的能力断开与智能电视的Wi-Fi P2P连接。
在投屏源设备通过投屏应用先建立与投屏目标设备之间的投屏连接之后,投屏源设备可以通过投屏应用向投屏目标设备投屏。下面结合图4和图5,示例性地说明投屏源设备和投屏目标设备之间的投屏过程以及退出投屏的过程。
如图4所示,投屏源设备10包括投屏应用201、注册表202、虚拟显示驱动203(也称为虚拟显示驱动),以及用于实现投屏功能的Windows接口205。下面通过投屏源设备10中的这些模块交互流程,以及这些模块与投屏目标设备20之间的交互流程,说明投屏源设备通过投屏应用向投屏目标设备投屏(上述步骤S101)的具体过程,交互流程可以包括下述的步骤A1-A10。
步骤A1,投屏源设备10通过投屏应用201(例如电脑管家)与投屏目标设备20建立投屏连接。
其中,关于如何投屏连接,将在下文中结合图11和图12详细描述,这里不予赘述。
在无线投屏连接建立之后,投屏目标设备20将投屏目标设备20的显示器参数(也称为显示参数)发送给投屏源设备10。例如,投屏目标设备20的显示器参数可以包括显示屏的显示尺寸、分辨率和刷新率等。
步骤A2,投屏源设备10通过投屏连接,获取投屏目标设备20的显示器参数。
步骤A3,投屏应用201将投屏目标设备20的显示器参数写入预设路径的注册表202中。
其中,注册表202是用于存储数据的存储区域。例如,注册表可以是数据库形式。
步骤A4,投屏应用201调用Windows接口205,将虚拟显示驱动203设置为启用状态。
步骤A5,虚拟显示驱动203从预设路径的注册表202中读取投屏目标设备20的显示器参数。
步骤A6,虚拟显示驱动203根据投屏目标设备20的显示器参数,创建虚拟显示器204。
其中,虚拟显示器204的显示参数与投屏目标设备20的显示器参数一致。
在本申请实施例中,电脑管家APP通过投屏接口,将虚拟显示驱动设置为启用状态。在启用状态下,虚拟显示驱动可以读取注册表中的显示器参数,并按照该显示器参数创建虚拟显示器。因此,虚拟显示器的显示参数与投屏目标设备的显示参数是一致的。这样可以保证投屏目标设备以适配的显示参数来显示投屏数据,可提升投屏显示效果。
步骤A7,虚拟显示驱动203向Windows接口205反馈:驱动已启用且虚拟显示器创建成功。
步骤A8,Windows接口205向投屏应用201反馈:虚拟显示器创建成功。
步骤A9,投屏应用201获取虚拟显示器204显示的图像。
其中,虚拟显示器204显示的图像可以是投屏源设备10的屏幕正在显示的图像。
其中,投屏应用抓取虚拟显示器图像的频率可以与投屏目标设备的显示器刷新率保持一致。这样可以确保投屏目标设备在投屏显示时具有良好的显示效果。例如,如果投屏目标设备的显示器刷新率为60Hz,那么投屏应用可以在虚拟显示器上每秒抓取60帧图像。
步骤A10,投屏应用201将虚拟显示器204显示的图像通过投屏连接,发送给投屏目标设备20。
在本申请实施例中,投屏应用201可以周期性地获取虚拟显示器204显示的图像,并将虚拟显示器204显示的图像通过无线投屏连接通道发送给投屏目标设备20。这样,在投屏目标设备20接收到虚拟显示器204的显示图像之后,投屏目标设备20显示该图像,从而实现投屏源设备10和投屏目标设备20之间的投屏显示。
示例性地,以投屏源设备中的投屏应用为电脑管家APP为例,在通过电脑管家APP建立投屏连接之后,投屏目标设备将投屏目标设备的分辨率、刷新率等显示器参数发送给投屏源设备。投屏源设备的电脑管家APP可以按照预设路径将投屏目标设备的显示器参数写入注册表中。并且,电脑管家APP将虚拟显示驱动的状态从禁用状态切换为启用状态。然后,虚拟显示驱动从注册表中读取投屏目标设备的显示器参数,进一步地,虚拟显示驱动可以根据投屏目标设备的显示器参数创建虚拟显示器。然后,电脑管家APP抓取虚拟显示器显示的图像,将图像发送给投屏目标设备显示。
图5示出了本申请实施例涉及的投屏过程以及退出投屏的过程的示意图。如图5所示,步骤B1至B15的过程详细描述了图4中的步骤A1至A10的实现过程,这里不再赘述。图5中的步骤B16至B22描述了正常退出投屏的过程,图5中的步骤B23描述了异常退出投屏的过程。在实际应用中,可能执行步骤B16至B22,或者可能执行步骤B23。
步骤B16,响应于用户操作,投屏应用正常关闭。
例如,用户可以点击电脑管家的投屏UI界面中显示的“断开连接”的控件,以触发正常退出投屏。然后,投屏源设备与投屏目标设备之间的投屏连接被断开。
步骤B17,投屏应用指示禁用虚拟显示驱动。
其中,投屏应用可以通过调用Windows接口,禁用虚拟显示驱动。
步骤B18,虚拟显示驱动从启用状态切换为禁用状态。
步骤B19,虚拟显示驱动指示删除虚拟显示器。
步骤B20,删除虚拟显示器。
步骤B21,投屏应用指示删除注册表中存储的显示器参数。
步骤B22,删除注册表中存储的显示器参数。
其中,本申请实施例不限定B17中的投屏应用指示禁用虚拟显示驱动,以及B22中投屏应用指示删除注册表中存储的显示器参数的先后执行顺序。
如此,完成投屏业务的正常退出。
步骤B23,投屏应用异常关闭。
在一些场景中,当正在投屏时,可能会由于某种原因导致投屏应用异常关闭,这样引起投屏业务非正常退出。在投屏应用异常关闭的情况下,不会执行上述的步骤B17-B22,也就是说,虚拟显示驱动可能仍然处于启用状态,因而虚拟显示器仍然存在,以及注册表中仍然存储的显示器参数,这些均会导致投屏异常现象,例如上述黑屏现象。
S102,当投屏应用异常关闭时,投屏源设备重新开启投屏应用。
当投屏源设备向投屏目标设备无线投屏时,投屏源设备中的投屏应用可能由于某种原因而异常关闭,在此情况下投屏源设备可以重新开启投屏应用。
可选地,投屏源设备可以响应于用户的触发操作,重新开启投屏应用。或者,当投屏源设备检测到投屏应用异常关闭时,投屏源设备自动重启投屏应用,无需用户触发。具体可以根据实际使用需求确定,本申请实施例不作限定。
在本申请实施例中,当投屏应用异常关闭时,投屏源设备断开与投屏目标设备之间的投屏连接。因此在投屏应用异常关闭后的场景为非投屏场景,当然,在投屏应用重新开启后,由于投屏源设备与投屏目标设备之间的投屏连接已经断开,因此投屏应用重新开启后的当前场景也是非投屏场景。
S103,若投屏应用检测到虚拟显示驱动处于启用状态,则投屏源设备通过投屏应用将虚拟显示驱动的状态设置为禁用状态。
需要说明的是,在电子设备出厂时,虚拟显示驱动可以预先加载于电子设备中,并且虚拟显示驱动通常被设置为禁用状态。在实际实现中,当用户操作触发电子设备投屏时,电子设备会将虚拟显示驱动切换到启用状态,通过虚拟显示驱动创建虚拟显示器,以实现无线投屏。
在投屏应用异常关闭后,虚拟显示驱动的状态可能仍处于启用状态,因此在投屏应用重新启动之后,投屏应用可以检测虚拟显示驱动状态。
下面说明投屏应用检测虚拟显示驱动状态的可能实现方式,例如可以通过如下Windows应用程序接口(application programming interface,API)接口实现驱动状态检测:SetupDiGetClassDevsEx;SetupDiEnumDeviceInfo;以及,CM_Get_DevNode_Status。
下面详细说明通过上述API接口检测虚拟显示驱动状态的过程。
<1>、通过SetupDiGetClassDevsEx(NULL,NULL,NULL,DIGCF_ALLCLASSES|DIGCF_PRESENT,NULL,NULL,NULL),获取设备信息集合hDevInfo;
<2>、通过SetupDiEnumDeviceInfo(hDevInfo,dwDevID,&DevInfoData)接口,根据虚拟显示驱动的硬件设备Id dwDevID查询对应设备信息;
<3>、通过CM_Get_DevNode_Status(&dwDevStatus,&dwProblem,DevInfoData.DevInst,0),获取设备状态dwProblem,当DwDevStatus存在DN_HAS_PROBLEM状态时,并且dwProblem=CM_PROB_DISABLED,则可以确定虚拟显示驱动处于禁用状态。另一方面,当DwDevStatus不存在DN_HAS_PROBLEM状态时或dwProblem不为CM_PROB_DIABLED时,则可以确定虚拟显示驱动处于启用状态。
可以理解,上述驱动状态检测方式为示例性地列举,具体可以根据实际使用需求确定,本申请实施例不作限定。
结合到本申请方案,当正在投屏时,投屏源设备的投屏应用可以调用Windows接口,将虚拟显示驱动的状态修改为启用状态,具体操作为:使得DwDevStatus不存在DN_HAS_PROBLEM状态,或dwProblem不为CM_PROB_DIABLED。
在正常退出投屏的情况下,投屏源设备的投屏应用可以调用Windows接口,将虚拟显示驱动的状态修改为禁用状态。例如,调用Windows接口修改信息DwDevStatus和信息dwProblem,使得DwDevStatus存在DN_HAS_PROBLEM状态,并且dwProblem=CM_PROB_DISABLED,如此将虚拟显示驱动从启用状态切换为禁用状态。
在异常退出投屏的情况下,投屏源设备的投屏应用则不会按照上述常规操作将虚拟显示驱动的状态修改为禁用状态。也就是说,虚拟显示驱动可能仍然处于启用状态,对应地,DwDevStatus不存在DN_HAS_PROBLEM状态,或者dwProblem不为CM_PROB_DISABLED。
可以理解的是,通过检测DwDevStatus和dwProblem,可以确定虚拟显示驱动的状态是启用状态还是禁用状态。
在本申请实施例中,经过实际检测可知,在投屏应用异常关闭后,虚拟显示驱动的状态可能仍处于启用状态,因此本申请提出:在投屏应用启动之后,有必要查询虚拟显示驱动的状态,当检测到虚拟显示驱动处于启用状态时,即可确定投屏应用之前发生异常关闭,此时需要将虚拟显示驱动的状态设置为禁用状态,以避免处于启用状态的虚拟显示驱动影响投屏源设备的正常使用。
需要说明的是,在投屏源设备通过投屏应用将虚拟显示驱动的状态设置为禁用状态之后,当虚拟显示驱动处于禁用状态时,投屏源设备禁止虚拟显示驱动创建虚拟显示器。换言之,虚拟显示驱动程序被关闭,无法再创建虚拟显示器。
由于在投屏应用异常关闭并重新开启后,投屏应用已经将虚拟显示驱动的状态设置为禁用状态,因此虚拟显示驱动不会再创建虚拟显示器,因此在虚拟显示器不存在的情况下,投屏源设备就无法从虚拟显示器抓取用于投屏的图像,这样可以避免由于虚拟显示器的存在对投屏源设备造成黑屏事件。
可选地,在投屏源设备通过投屏应用将虚拟显示驱动的状态设置为禁用状态(即上述步骤S103)之后,结合图2,如图6所示,上述方法还可以包括下述的步骤S104和步骤S105。
S104,投屏源设备接收到用户的第一输入,该第一输入仅用于触发投屏目标设备的屏幕显示。
其中,第一输入可以包括第一子输入和第二子输入。第一子输入可以为:用户通过按压Windows+P键触发投屏源设备显示多个投屏选项,例如“仅本机屏幕显示”选项、“复制”选项、“扩展”选项、“仅第二屏幕显示”选项。第二子输入可以为用户选择“仅第二屏幕显示”选项。如此以仅触发投屏目标设备的屏幕显示。
S105,投屏源设备不响应第一输入,其中投屏源设备的显示屏正常显示。
由于在投屏应用异常关闭并重新开启后,投屏应用已经将虚拟显示驱动的状态设置为禁用状态,因此虚拟显示驱动不会再创建虚拟显示器,因此在虚拟显示器不存在的情况下,投屏源设备就无法从虚拟显示器抓取用于投屏的图像,因此即使用户在投屏源设备上操作以仅触发投屏目标设备的屏幕显示,投屏源设备也不会响应用户操作。
也就是说,在当前非投屏场景中,当用户选择投屏源设备的投屏功能中的“仅第二屏幕显示”选项时,投屏源设备的显示屏可以正常显示,并不会出现黑屏现象。
需要说明的是,在本申请实施例中,注册表可以用于存储无线投屏的显示器参数。在投屏过程中,投屏源设备可以将投屏目标设备的显示器参数存储在注册表中,相应地投屏源设备的虚拟显示驱动可以从注册表中进行读取,并根据读取的显示器参数创建虚拟显示器,这样虚拟显示器的显示参数可以与投屏目标设备的显示器参数保持一致,因此当虚拟显示器的显示图像被发送给投屏目标设备进行显示时,可以保证较好的投屏显示效果。
示例性地,注册表中存储的显示器参数可以包括下述内容:
1)"Width",数据格式dword,表示分辨率宽,例如1920(像素点数量);
2)"Height",数据格式dword,表示分辨率高,例如1080(像素点数量);
3)"Ratio",数据格式dword,表示屏幕比例,例如0,表示4:3;
4)"HDisplaySize",数据格式dword,表示屏幕宽度,例如300mm;
5)"VDisplaySize",数据格式dword,表示屏幕高度,例如200mm;
6)"PixelRate",数据格式dword,表示刷新率,例如60Hz。
可选地,注册表可以预置有对应的存储路径。当然,也支持自定义设置路径进行存储。
示例性地,注册表路径可以通过如下路径信息表示:
[HKEY_LOCAL_MACHINE\SOFTWARE\PCManager\Drivers\IDDSettings]。
可选地,由于在投屏应用异常关闭并重新开启后,注册表还存储了最近一次无线投屏的显示器参数,因此在当前非投屏场景中,可以删除注册表中的显示器参数,以避免注册表中的显示器参数影响投屏源设备的正常使用。
在本申请实施例中,结合图6,如图7所示,在步骤S103之后,上述方法还可以包括下述的步骤S106。
S106,若投屏应用检测到投屏源设备中的注册表中有显示器参数,则投屏源设备删除注册表中的显示器参数。
示例性地,在电脑管家APP异常关闭的情况下,当电脑管家APP重新被开启时,电脑管家APP可以检查投屏源设备中是否存在虚拟显示器,如果投屏源设备中存在虚拟显示器,则清除注册表中的显示参数并关闭虚拟显示驱动。
可选地,结合图7,如图8所示,上述当投屏应用异常关闭时投屏源设备重新开启投屏应用(上述步骤S102)具体可以包括下述步骤S102A和S102B。
S102A,当投屏源设备异常关机时,投屏应用异常关闭。
示例性地,投屏应用异常关闭可能是由用户的非正规关机操作触发,也可能是由设备断电原因导致关机触发,还可能是投屏应用由于程序崩溃而关闭,或者可能由于其他任意可能的因素触发,本申请实施例不作限定。
S102B,响应于用户的第二输入,投屏源设备重新启动并开启投屏应用。
其中,第二输入用于触发投屏源设备重新启动,在投屏源设备重新启动的情况下,投屏源设备触发投屏应用自动开启。在投屏应用自动开启之后,在非投屏场景下可以通过禁用虚拟显示驱动以及清除相关注册表数据项,以防止在未投屏场景下用户使用Windows+P键选择仅第二屏显示时出现的黑屏问题。
图9和图10为投屏源设备中各层模块之间交互的架构示意图。下面结合图9和图10,描述投屏源设备在重启投屏应用之后如何处理投屏异常情况,以避免在未投屏场景下用户使用Windows+P键选择仅第二屏显示时出现的黑屏问题。
如图9所示,投屏源设备包括应用层、系统层和驱动层,其中应用层包括投屏应用(例如电脑管家APP),系统层包括Windows接口和注册表,驱动层包括虚拟显示驱动和虚拟显示器。各层模块交互流程可以包括下述的步骤C1-C7。
步骤C1,投屏应用重启后向Windows接口下发查询命令。
在投屏源设备的投屏应用(例如电脑管家APP)投屏时异常关闭的情况下,投屏应用可以重新启动,并在重启后向投屏源设备的Windows接口下发查询命令。该查询命令用于指示查询注册表状态,以及查询虚拟显示驱动状态。
步骤C2,Windows接口向注册表发送查询命令,以查询注册表状态。
其中,注册表状态包括以下两种状态:注册表中有显示器参数,或者注册表中没有显示器参数。
步骤C3,Windows接口查询虚拟显示驱动的驱动状态。
其中,虚拟显示驱动的驱动状态可以包括以下两种状态:禁用状态,或者启用状态。
需要说明的是,本申请实施例不限定步骤C2和步骤C3的先后执行顺序,例如可以先执行步骤C2,再执行步骤C3;也可以先执行步骤C3,再执行步骤C2;或者可以同时执行步骤C2和步骤A3。本申请实施例对此不作限定。
步骤C4,注册表根据查询命令,向Windows接口反馈注册表状态。
例如,注册表向Windows接口反馈注册表状态为:注册表中有显示器参数。
步骤C5,Windows接口查询到虚拟显示驱动的驱动状态。
例如,Windows接口查询到虚拟显示驱动的驱动状态为:启用状态。
步骤C6,Windows接口将查询到的注册表状态和虚拟显示驱动状态上报给投屏应用。
步骤C7,投屏应用接收注册表状态和虚拟显示驱动状态,若注册表中有显示参数且虚拟显示器处于启用状态,则投屏应用清除注册表并禁用虚拟显示驱动。
如图10所示,投屏源设备的各模块交互流程可以包括下述的步骤D1-D11。
步骤D1,投屏应用(例如电脑管家)在投屏时异常关闭。
其中,投屏应用在投屏时异常关闭的原因可能是由于系统崩溃导致的,也可以是由于投屏源设备异常关机导致的。
步骤D2,投屏应用重新启动。
其中,投屏源设备在关闭之后自动启动,也可以响应于用户触发操作而重新启动。
步骤D3,投屏应用向Windows接口下发查询命令,以查询注册表状态和虚拟显示驱动的驱动状态。
步骤D4,Windows接口接收到查询命令,查询注册表状态。
步骤D5,注册表向Windows接口反馈注册表状态。
其中,由于Windows接口记录有虚拟显示驱动的驱动状态,因此Windows接口可以根据记录信息直接查询到虚拟显示驱动的驱动状态。
步骤D6,Windows接口向投屏应用反馈注册表状态和虚拟显示驱动的驱动状态。
步骤D7,投屏应用根据注册表状态和虚拟显示驱动的驱动状态执行如下处理:若注册表状态为注册表中有显示参数,且虚拟显示驱动的驱动状态为启用状态,则投屏应用确定清除注册表中的显示参数并禁用虚拟显示驱动。
步骤D8,投屏应用向Windows接口指示将虚拟显示驱动切换为禁用状态以及清除注册表。
步骤D9,Windows接口将虚拟显示驱动设置为禁用状态。
步骤D10,虚拟显示驱动从启用状态切换为禁用状态。
步骤D11,投屏应用指示清除注册表中的显示参数。
步骤D12,注册表中的显示参数被清除。
其中,本申请实施例不限定步骤D9和步骤D11的先后执行顺序。
在本申请实施例中,在投屏源设备重新启动并电脑管家APP重新开启之后,电脑管家APP可以检查虚拟显示器状态,例如,电脑管家APP通知Windows API(应用程序接口)获取虚拟显示驱动状态,在非投屏场景下通过禁用虚拟显示驱动以及清除相关注册表数据项,以移除虚拟显示器,从而可以避免投屏源设备在非投屏场景下出现的黑屏问题。
下面结合投屏源设备(例如PC)和投屏目标设备(智能电视)的系统架构以及系统架构中各模块之间的数据交互过程,对本申请实施例涉及到的投屏过程进行描述。图11为PC和智能电视的系统架构示意图,图12为PC与智能电视建立连接过程,PC中各模块与智能电视中各模块之间进行数据交互的过程示意图。
如图11所示,PC至少包括:应用程序层的电脑管家APP;系统层的第一发现连接模块、抓屏编码线程、第一通信模块和显示驱动;硬件层的显卡(GPU)、编码器、第一蓝牙芯片和第一Wi-Fi芯片。智能电视至少包括:系统层的协同服务(service)模块、第二发现连接模块、第二通信模块、解码线程和显示驱动,硬件层的解码器、第二蓝牙芯片、第二Wi-Fi芯片和显示屏。
其中,显示驱动是用于驱动显卡的驱动程序,是硬件显卡所对应的软件。该驱动程序被添加到操作系统中的一小块代码,其中包含有关显卡设备的信息。
参考图11和图12,PC中的电脑管家APP接收到用户输入的“立即连接”投屏操作后,电脑管家APP向第一发现连接模块发送一个进程间通信(inter-process communication,IPC)消息,可选地,该IPC消息可以携带扫描指示指令,用于指示第一发现连接模块调用第一蓝牙芯片的能力扫描发现附近可用的投屏目标设备。
第一发现连接模块接收到IPC消息后,调用第一蓝牙芯片的能力扫描发现附近可用的投屏目标设备;此时,可用的投屏目标设备的蓝牙芯片可以接收到PC的扫描信号,并由投屏目标设备(例如智能电视)的发现连接模块向PC的第一发现连接模块反馈自身的基本信息等,例如投屏目标设备的互联网协议地址(internet protocol address,IP地址)、媒体存取控制地址(media access control address,MAC地址)、通用唯一识别码(universally unique identifier,UUID)、设备标识以及设备名称等。
当PC的第一发现连接模块扫描到可用的投屏目标设备后,第一发现连接模块可以获取到投屏目标设备的基本信息。进而,第一发现连接模块将发现的可用的投屏目标设备的基本信息(如设备名称、MAC地址)发送至电脑管家APP,进而使电脑管家APP将这些可用的投屏目标设备的基本信息展示在可用设备列表中,以显示给用户查看。
在一些实施例中,鉴于PC显示屏的显示大小,电脑管家APP可能无法将可用的投屏目标设备的上述信息都显示在可用设备列表上。因此,可用设备列表上可以仅显示可用的投屏目标设备的设备名称。若用户想要查看某一投屏目标设备的其它信息,则可以对设备名称进行长按操作或双击操作,电脑管家APP接收到长按操作或双击操作后,可显示出该投屏目标设备的其他信息。
在一些实施例中,电脑管家APP所显示的可用设备列表中,包括了PC附近已开启蓝牙功能的所有设备,比如智能电视、手机或穿戴设备。在另一些实施例中,电脑管家APP在接收到已开启蓝牙功能的所有设备的信息后,可以筛选出支持投屏的设备以进行显示,比如穿戴设备不支持PC投屏,则电脑管家APP在可用设备列表中不再显示穿戴设备。
然后,当用户点击可用设备列表中的智能电视时,电脑管家APP可以接收到用户的点击操作,并向第一发现连接模块发送IPC消息,用于指示第一发现连接模块调用第一蓝牙芯片与智能电视建立蓝牙连接(BLE连接)。可选地,该IPC消息可以携带智能电视的基本信息。第一发现连接模块接收到IPC消息后,可调用第一蓝牙芯片的能力与智能电视的第二蓝牙芯片进行蓝牙连接,以实现PC与智能电视的通信连接,即BLE连接。
在PC与智能电视建立了BLE连接后,PC的第一发现连接模块调用第一Wi-Fi芯片建立一个模拟热点(soft access point,SoftAP),该SoftAP具有服务集标识(service setidentifier,SSID)和密码,进而第一发现连接模块通过建立的BLE连接通道将SSID和密码发送至智能电视的第二发现连接模块,使第二发现连接模块调用第二Wi-Fi芯片根据接收到的SSID和密码与PC建立Wi-Fi P2P连接。同时,PC和智能电视之间还建立起一个socket数据通道,以供后续PC与智能电视相互传输数据。
需要说明的是,上述PC和智能电视之间所建立连接的类型不限于蓝牙连接和Wi-Fi P2P连接,也可以是其他类型的连接方式,只要能实现两者之间传输数据即可。
如上所述,PC与智能电视成功建立投屏连接。PC的第一Wi-Fi模块向第一发现连接模块反馈PC与智能电视成功建立连接的消息。智能电视的第二Wi-Fi模块向协同服务模块通知智能电视与PC成功建立连接的消息。
这样,在PC与智能电视建立了投屏连接之后,PC便需要将显示屏上的图像数据发送至智能电视进行显示。在此,本申请实施例将需要投屏的图像数据称为待投屏数据。
作为一种可实现的方式,在PC与智能电视建立了Wi-Fi P2P连接之后,智能电视可以主动通过第二发现连接模块将自身的显示参数发送至PC的第一发现连接模块。
然后,PC的第一发现连接模块可以向电脑管家APP反馈建立连接成功的消息,该消息中携带智能电视返回的智能电视的显示参数(这里以智能电视的分辨率为例),进而由电脑管家APP建立一个抓屏编码线程。在创建了抓屏编码线程后,可以同时初始化编码器,即设置要编码的图像的分辨率为2520x1680、以及默认的H264编码格式。
同时,电脑管家APP收到上述建立连接成功的消息后,还可以通过接口获取当前PC显卡的分辨率,根据电脑管家APP接收到的消息中携带的分辨率,则创建虚拟显示器,其分辨率为2520x1680。
在PC的第一发现连接模块向电脑管家APP反馈建立连接成功的消息的同时,智能电视的第二发现连接模块也向协同服务模块反馈建立连接成功的消息,进而由协同服务模块创建一个解码线程,并初始化解码器。
接下来,抓屏编码线程通过Windows API接口从显卡(GPU)中获取待投屏数据(例如一帧图像数据),此时所获取到的图像数据的分辨率即为2520x1680。
需要说明的是,PC显示屏上的图像是由GPU对图像数据进行绘制渲染后送显得到的,为了将此图像数据发送至智能电视,GPU可将图像数据存储在一个图像队列中。可选地,显卡(GPU)中可以存储有一个图像队列,该图像队列包括需要显示在PC显示屏上的图像数据,这些图像数据可以是由GPU对需要显示在PC显示屏上的数据进行绘制渲染后送显的图像数据。
在一些实施例中,图像队列中可存储预设数量(如6帧)的图像数据,抓屏编码线程从中获取了一帧图像数据后,可将该图像数据移出图像队列,并将新的图像数据存储至图像队列。抓屏编码线程对第一帧图像数据进行编码后,可以接着获取第二帧图像数据、第三帧图像数据进行编码,由此不断的执行获取数据并编码过程。
可选地,上述待投屏数据可以为红绿蓝RGB图像数据,抓屏编码线程获取到该RGB图像数据后,可以将其转换为NV12格式。然后,抓屏编码线程调用编码器,对格式转换后的待投屏数据进行压缩编码,即编码为H264格式的图像数据。
最后,PC的抓屏编码线程通过第一通信模块沿上述socket数据通道将编码后的图像数据发送至智能电视的第二通信模块,智能电视的第二通信模块接收到编码后的图像数据后,通过解码线程调用解码器对该图像数据进行解码,例如解码为NV12格式的图像数据,进而调用显示驱动交由显示屏进行显示。
也就是说,抓屏编码线程可从该图像队列中获取一帧图像数据,随即调用编码器对该帧图像数据进行编码,并由第一通信模块将编码数据发送至智能电视,智能电视的第二通信模块接收到编码数据后,调用解码器进行解码,进而由智能电视的显示屏显示待投屏数据对应的图像。
在一些实施例中,PC在获取待投屏数据及对待投屏数据进行编码时,可以开启一个抓屏编程线程,在抓屏编码线程获取一帧图像数据后,即刻调用编码器对该图像数据进行编码,并发送至智能电视进行解码显示。
需要说明的是,本申请实施例对编码器进行编码的格式、以及解码器进行解码的格式不做限制,只要能实现编码解码并显示的过程即可。
至此,经过上述过程,完成了PC将显示内容投屏至智能电视的过程。
具体到本申请方案,在PC通过投屏应用向智能电视投屏时,若投屏应用异常关闭,则在投屏应用重新开启之后,PC将虚拟显示驱动的状态设置为禁用状态并删除注册表中的显示参数,这样虚拟显示驱动不会再创建虚拟显示器,因此在虚拟显示器不存在的情况下,PC就无法抓取用于投屏的图像,因此在投屏应用重启后的非投屏场景中,当用户选择PC本机投屏功能中的仅第二屏幕显示选项时,PC显示屏正常显示,而不会出现黑屏现象。
也需要说明的是,在本申请实施例中,“大于”可以替换为“大于或等于”,“小于或等于”可以替换为“小于”,或者,“大于或等于”可以替换为“大于”,“小于”可以替换为“小于或等于”。
本文中描述的各个实施例可以为独立的方案,也可以根据内在逻辑进行组合,这些方案都落入本申请的保护范围中。
可以理解的是,上述各个方法实施例中由电子设备实现的方法和操作,也可以由可用于电子设备的部件(例如芯片或者电路)实现。
上文描述了本申请提供的方法实施例,下文将描述本申请提供的装置实施例。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见上文方法实施例,为了简洁,这里不再赘述。
上文主要从方法步骤的角度对本申请实施例提供的方案进行了描述。可以理解的是,为了实现上述功能,实施该方法的电子设备包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的保护范围。
本申请实施例可以根据上述方法示例,对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有其它可行的划分方式。下面以采用对应各个功能划分各个功能模块为例进行说明。
图13为本申请实施例提供的投屏异常处理装置800的示意性框图。该装置800可以用于执行上文方法实施例中投屏源设备所执行的动作。该装置800包括投屏单元810和处理单元820。
投屏单元810,用于通过投屏应用实现投屏源设备向投屏目标设备投屏;其中,投屏应用为所述投屏源设备中安装的用于触发设备间投屏的应用程序;
处理单元820,用于在所述投屏应用异常关闭时的情况下,重新开启所述投屏应用;
处理单元820,还用于当检测到虚拟显示驱动处于启用状态时,将所述虚拟显示驱动的状态设置为禁用状态;
其中,所述虚拟显示驱动是所述投屏源设备中用于实现投屏功能的驱动程序,该驱动程序是硬件所对应的软件,用于驱动显卡。该驱动程序被添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。
通过本申请方案,在投屏源设备通过投屏应用向投屏目标设备投屏时,若投屏应用异常关闭,则在投屏应用重新开启之后,将虚拟显示驱动的状态设置为禁用状态,这样虚拟显示驱动不会再创建虚拟显示器,因此在虚拟显示器不存在的情况下,投屏源设备就无法抓取用于投屏的图像,因此在投屏应用重启后的非投屏场景中,当用户选择投屏源设备本机投屏功能中的“仅第二屏幕显示”选项时,投屏源设备显示屏正常显示,而不会出现黑屏现象。
在一种可能实现方式中,装置800还可以包括接收单元,该接收单元用于在处理单元820通过所述投屏应用将所述虚拟显示驱动的状态设置为禁用状态之后,接收到用户的第一输入,该第一输入仅用于触发所述投屏目标设备的屏幕显示。在此情况下,处理单元820不响应该第一输入。
在一种可能实现方式中,处理单元820还用于:
当所述投屏应用异常关闭时,断开所述投屏源设备与所述投屏目标设备之间的投屏连接。
在一种可能实现方式中,处理单元820还用于:在所述投屏源设备通过所述投屏应用将所述虚拟显示驱动的状态设置为禁用状态之后,当所述虚拟显示驱动处于禁用状态时,所述投屏源设备禁止所述虚拟显示驱动创建虚拟显示器。
其中,所述虚拟显示器所显示的图像用于在投屏时由所述投屏目标设备显示。
在一种可能实现方式中,处理单元820还用于:
若所述投屏应用检测到所述投屏源设备中的注册表中有显示器参数,则删除所述注册表中的显示器参数。
在一种可能实现方式中,所述处理单元820用于当所述投屏应用异常关闭时,重新开启所述投屏应用,包括:
当所述投屏源设备异常关机时,所述投屏应用异常关闭;
响应于用户的第二输入,处理单元820重新启动并开启所述投屏应用。
在一种可能实现方式中,投屏单元810还用于通过所述投屏应用建立与所述投屏目标设备之间的投屏连接。
在一种可能实现方式中,所述投屏单元810可以包括投屏应用、注册表、虚拟显示驱动和虚拟显示器,所述投屏单元810具体用于:
通过投屏连接,获取所述投屏目标设备的显示器参数;
投屏应用将所述投屏目标设备的显示器参数写入预设路径的注册表中;
投屏应用将所述虚拟显示驱动设置为启用状态;
虚拟显示驱动从所述预设路径的注册表中读取所述投屏目标设备的显示器参数;
虚拟显示驱动根据所述投屏目标设备的显示器参数,创建虚拟显示器,所述虚拟显示器的显示参数与所述投屏目标设备的显示器参数一致;
投屏应用获取所述虚拟显示器的显示图像;
投屏应用将所述虚拟显示器的显示图像通过所述投屏连接,发送给所述投屏目标设备。
在一种可能实现方式中,所述投屏单元810还用于通过所述投屏应用建立与所述投屏目标设备之间的投屏连接,具体包括:
所述投屏单元810接收到用户在所述投屏应用的应用图标上的第三输入,所述第三输入用于触发所述投屏源设备与投屏目标设备建立投屏连接;
响应于所述第三输入,所述投屏单元810搜索到所述投屏目标设备,并显示所述投屏目标设备的标识;
所述投屏单元810接收到用户的第四输入,所述第四输入用于选择所述投屏目标设备的标识;
响应于所述第四输入,所述投屏单元810触发投屏源设备与所述投屏目标设备建立投屏连接。
在一种可能实现方式中,所述投屏目标设备的显示器参数包括显示屏的显示尺寸、分辨率和刷新率。
根据本申请实施例的装置800可对应于执行本申请实施例中描述的方法,并且装置800中的单元的上述和其它操作和/或功能分别为了实现方法的相应流程,为了简洁,在此不再赘述。
图14是本申请实施例提供的电子设备900的结构性示意性图。该电子设备900可以包括处理器910,外部存储器接口920,内部存储器921,通用串行总线(universal serialbus,USB)接口930,充电管理模块940,电源管理单元941,电池942,天线1,天线2,移动通信模块950,无线通信模块960,音频模块970,扬声器970A,受话器970B,麦克风970C,耳机接口970D,传感器模块980,按键990,马达991,指示器992,摄像头993,显示屏994,以及用户标识模块(subscriber identification module,SIM)卡接口995等。其中传感器模块980可以包括压力传感器980A,陀螺仪传感器980B,气压传感器980C,磁传感器980D,加速度传感器980E,距离传感器980F,接近光传感器980G,指纹传感器980H,温度传感器980I,触摸传感器980J,环境光传感器980K以及骨传导传感器980L等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备900的具体限定。在本申请另一些实施例中,电子设备900可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器910可以包括一个或多个处理单元,例如:处理器910可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是电子设备900的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器910中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器910中的存储器为高速缓冲存储器。该存储器可以保存处理器910刚用过或循环使用的指令或数据。如果处理器910需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器910的等待时间,因而提高了系统的效率。
在一些实施例中,处理器910可以包括一个或多个接口。该接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备900的结构限定。在本申请另一些实施例中,电子设备900也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块940用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块940可以通过USB接口930接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块940可以通过电子设备900的无线充电线圈接收无线充电输入。充电管理模块940为电池942充电的同时,还可以通过电源管理单元941为电子设备供电。
电源管理单元941用于连接电池942,充电管理模块940与处理器910。电源管理单元941接收电池942和/或充电管理模块940的输入,为处理器910,内部存储器921,外部存储器,显示屏994,摄像头993和无线通信模块960等供电。电源管理单元941还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理单元941也可以设置于处理器910中。在另一些实施例中,电源管理单元941和充电管理模块940也可以设置于同一个器件中。
电子设备900的无线通信功能可以通过天线1、天线2、移动通信模块950、无线通信模块960、调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备900中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块950可以提供应用在电子设备900上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块950可以包括至少一个滤波器、开关、功率放大器、低噪声放大器(low noise amplifier,LNA)等。移动通信模块950可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块950还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块950的至少部分功能模块可以被设置于处理器910中。在一些实施例中,移动通信模块950的至少部分功能模块可以与处理器910的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器970A、受话器970B等)输出声音信号,或通过显示屏994显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器910,与移动通信模块950或其他功能模块设置在同一个器件中。
无线通信模块960可以提供应用在电子设备900上的包括WLAN(如Wi-Fi)、BT、全球导航卫星系统(global navigation satellite system,GNSS)、FM、NFC、IR或通用2.4G/5G无线通信技术等无线通信的解决方案。无线通信模块960可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块960经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器910。无线通信模块960还可以从处理器910接收待发送的信号,对其进行调频、放大,经天线2转为电磁波辐射出去。
在一些实施例中,该无线通信模块960可以为Wi-Fi和/或蓝牙芯片。电子设备900可以通过该芯片,与无线耳机等电子设备的芯片之间建立连接,以通过该连接实现电子设备900和其他电子设备之间的无线通信和业务处理。其中,蓝牙芯片通常可以支持BR/EDR蓝牙和BLE。
在一些实施例中,电子设备900的天线1和移动通信模块950耦合,天线2和无线通信模块960耦合,使得电子设备900可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TDSCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备900通过GPU,显示屏994,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏994和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器910可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏994用于显示图像,视频等。显示屏994包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备900可以包括1个或N个显示屏994,N为大于1的正整数。
电子设备900可以通过ISP、摄像头993、视频编解码器、GPU、显示屏994以及应用处理器等实现拍摄功能。
ISP用于处理摄像头993反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点、亮度、肤色进行算法优化。ISP还可以对拍摄场景的曝光、色温等参数优化。在一些实施例中,ISP可以设置在摄像头993中。
摄像头993用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备900可以包括1个或N个摄像头993,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备900在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备900可以支持一种或多种视频编解码器。这样,电子设备900可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备900的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口920可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备900的存储能力。外部存储卡通过外部存储器接口920与处理器910通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器921可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器910通过运行存储在内部存储器921的指令,从而执行电子设备900的各种功能应用以及数据处理。内部存储器921可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备900使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器921可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
处理器910可以用于执行上述程序代码,调用相关模块以实现本申请实施例中电子设备的功能。例如,与另一电子设备建立多个通信链路;在有预设业务(例如文件传输业务等)时,通过多个通信链路与另一电子设备传输预设业务的数据。
电子设备900可以通过音频模块970中的扬声器970A、受话器970B、麦克风970C、耳机接口970D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块970用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块970还可以用于对音频信号编码和解码。在一些实施例中,音频模块970可以设置于处理器910中,或将音频模块970的部分功能模块设置于处理器910中。
扬声器970A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备900可以通过扬声器970A收听音乐,或收听免提通话。
受话器970B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备900接听电话或语音信息时,可以通过将受话器970B靠近人耳接听语音。
麦克风970C,也称“话筒”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风970C发声,将声音信号输入到麦克风970C。电子设备900可以设置至少一个麦克风970C。在另一些实施例中,电子设备900可以设置两个麦克风970C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备900还可以设置三个,四个或更多麦克风970C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口970D用于连接有线耳机。耳机接口970D可以是USB接口930,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器980A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器980A可以设置于显示屏994。压力传感器980A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器980A,电极之间的电容改变。电子设备900根据电容的变化确定压力的强度。当有触摸操作作用于显示屏994,电子设备900根据压力传感器980A检测触摸操作强度。电子设备900也可以根据压力传感器980A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器980B可以用于确定电子设备900的运动姿态。在一些实施例中,可以通过陀螺仪传感器980B确定电子设备900围绕三个轴(例如x,y和z轴)的角速度。陀螺仪传感器980B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器980B检测电子设备900抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备900的抖动,实现防抖。陀螺仪传感器980B还可以用于导航,体感游戏场景。
加速度传感器980E可检测电子设备900在各个方向上(一般为三轴)加速度的大小。当电子设备900静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器980F用于测量距离。电子设备900可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备900可以利用距离传感器980F测距以实现快速对焦。
接近光传感器980G可以包括例如发光二极管(light-emitting diode,LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备900通过发光二极管向外发射红外光。电子设备900使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备900附近有物体。当检测到不充分的反射光时,电子设备900可以确定电子设备900附近没有物体。电子设备900可以利用接近光传感器980G检测用户手持电子设备900贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器980G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器980K用于感知环境光亮度。电子设备900可以根据感知的环境光亮度自适应调节显示屏994亮度。环境光传感器980K也可用于拍照时自动调节白平衡。环境光传感器980K还可以与接近光传感器980G配合,检测电子设备900是否在口袋里,以防误触。
气压传感器980C用于测量气压。在一些实施例中,电子设备900通过气压传感器980C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器980D包括霍尔传感器。电子设备900可以利用磁传感器980D检测电子设备900的位移。在一些实施例中,霍尔传感器可以利用磁铁形成线性的梯形磁场(或称为斜坡磁场),霍尔片在线性磁场中的位移变化与磁场强度变化相一致,形成的霍尔电势也就与位移成正比,电子设备900获取霍尔电势,就可以测量出位移大小。
指纹传感器980H用于采集指纹。电子设备900可以利用采集的指纹特性实现指纹解锁,访问应用锁、指纹拍照、指纹接听来电等。
温度传感器980I用于检测温度。在一些实施例中,电子设备900利用温度传感器980I检测的温度,执行温度处理策略。例如,当温度传感器980I上报的温度超过阈值,电子设备900执行降低位于温度传感器980I附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备900对电池942加热,以避免低温导致电子设备900异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备900对电池942的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器980J,也称“触控面板”。触摸传感器980J可以设置于显示屏994,由触摸传感器980J与显示屏994组成触摸屏,也称“触控屏”。触摸传感器980J用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏994提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器980J也可以设置于电子设备900的表面,与显示屏994所处的位置不同。
骨传导传感器980L可以获取振动信号。在一些实施例中,骨传导传感器980L可以获取人体声部振动骨块的振动信号。骨传导传感器980L也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器980L也可以设置于耳机中,结合成骨传导耳机。音频模块970可以基于骨传导传感器980L获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于骨传导传感器980L获取的血压跳动信号解析心率信息,实现心率检测功能。
按键990包括开机键、音量键等。按键990可以是机械按键。也可以是触摸式按键。电子设备900可以接收按键输入,产生与电子设备900的用户设置以及功能控制有关的键信号输入。
马达991可以产生振动提示。马达991可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照、音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏994不同区域的触摸操作,马达991也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒、接收信息、闹钟、游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器992可以是指示灯,可以用于指示充电状态、电量变化,也可以用于指示消息、未接来电、通知等。
SIM卡接口995用于连接SIM卡。SIM卡可以通过插入SIM卡接口995,或从SIM卡接口995拔出,实现和电子设备900的接触和分离。电子设备900可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口995可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口995可以同时插入多张卡。多张卡的类型可以相同,也可以不同。SIM卡接口995也可以兼容不同类型的SIM卡。SIM卡接口995也可以兼容外部存储卡。电子设备900通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备900采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备900中,不能和电子设备900分离。
电子设备900可以为移动终端,也可以为非移动终端。示例性的,电子设备900可以为手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digitalassistant,PDA)、无线耳机、无线手环、无线智能眼镜、无线手表、增强现实(augmentedreality,AR)/虚拟现实(virtual reality,VR)设备、台式计算机、智能家电(例如电视、音箱、冰箱、空气净化器、空调、电饭煲)等。其中,电子设备900也可以被统称为物联网(Internet of Things,IoT)设备。本申请实施例对电子设备900的设备类型不予具体限定。
应理解,图14所示的电子设备900可对应于图13所示的装置800。其中,图14所示的电子设备900中的处理器910、无线通信模块960,可以分别对应于图13中的装置800中的处理单元820、投屏单元810。
在实际实现时,在电子设备900运行时,处理器910执行存储器921中的计算机执行指令以通过电子设备900执行上述方法的操作步骤。
可选地,在一些实施例中,本申请提供一种芯片,该芯片与存储器耦合,该芯片用于读取并执行存储器中存储的计算机程序或指令,以执行上述各实施例中的方法。
可选地,在一些实施例中,本申请提供一种电子设备,该电子设备包括芯片,该芯片用于读取并执行存储器存储的计算机程序或指令,使得各实施例中的方法被执行。
可选地,在一些实施例中,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有程序代码,当计算机程序代码在计算机上运行时,使得计算机执行上述各实施例中的方法。
可选地,在一些实施例中,本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行上述各实施例中的方法。
在本申请实施例中,电子设备包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。其中,硬件层可以包括中央处理器(central processingunit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。操作系统层的操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。应用层可以包含浏览器、通讯录、文字处理软件、即时通信软件等应用。
本申请实施例并未对本申请实施例提供的方法的执行主体的具体结构进行特别限定,只要能够通过运行记录有本申请实施例提供的方法的代码的程序,以根据本申请实施例提供的方法进行通信即可。例如,本申请实施例提供的方法的执行主体可以是电子设备,或者,是电子设备中能够调用程序并执行程序的功能模块。
本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本文中使用的术语“制品”可以涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmableread-only memory,EPROM)、卡、棒或钥匙驱动器等)。
本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于:无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
应理解,本申请实施例中提及的处理器可以是中央处理单元(centralprocessing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM)。例如,RAM可以用作外部高速缓存。作为示例而非限定,RAM可以包括如下多种形式:静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledata rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)可以集成在处理器中。
还需要说明的是,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的保护范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。此外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上,或者说对现有技术做出贡献的部分,或者该技术方案的部分,可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,该计算机软件产品包括若干指令,该指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。前述的存储介质可以包括但不限于:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种投屏异常处理方法,其特征在于,包括:
投屏源设备通过投屏应用向投屏目标设备投屏,所述投屏应用为所述投屏源设备中安装的用于触发设备间投屏的应用程序;
在所述投屏应用异常关闭的情况下,所述投屏源设备重新开启所述投屏应用;
所述投屏源设备检测到虚拟显示驱动处于启用状态;其中,所述虚拟显示驱动是所述投屏源设备中用于实现投屏功能的驱动程序;
所述投屏源设备将所述虚拟显示驱动的状态设置为禁用状态。
2.根据权利要求1所述的方法,其特征在于,在所述投屏源设备重新开启所述投屏应用之后,所述方法还包括:
所述投屏源设备检测到所述投屏源设备中的注册表中有显示器参数;其中,所述注册表为存储所述投屏目标设备的显示器参数的存储区域;
所述投屏源设备删除所述注册表中的显示器参数。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述投屏应用异常关闭时,所述投屏源设备断开与所述投屏目标设备之间的投屏连接。
4.根据权利要求1所述的方法,其特征在于,在所述投屏源设备将所述虚拟显示驱动的状态设置为禁用状态之后,所述方法还包括:
当所述虚拟显示驱动处于禁用状态时,所述投屏源设备禁止所述虚拟显示驱动创建虚拟显示器;
其中,所述虚拟显示器所显示的图像用于在投屏时由所述投屏目标设备显示。
5.根据权利要求1所述的方法,其特征在于,在所述投屏源设备将所述虚拟显示驱动的状态设置为禁用状态之后,和/或在所述投屏源设备删除注册表中的显示器参数之后,所述方法还包括:
所述投屏源设备接收到用户的第一输入,所述第一输入仅用于触发所述投屏目标设备的屏幕显示;
所述投屏源设备不响应所述第一输入。
6.根据权利要求1所述的方法,其特征在于,所述在所述投屏应用异常关闭的情况下,所述投屏源设备重新开启所述投屏应用,包括:
在所述投屏应用异常关闭的情况下,所述投屏源设备自动开启所述投屏应用;或者,
在所述投屏应用异常关闭的情况下,响应于用户触发操作,所述投屏源设备重新开启所述投屏应用。
7.根据权利要求1所述的方法,其特征在于,所述在所述投屏应用异常关闭的情况下,所述投屏源设备重新开启所述投屏应用,包括:
当所述投屏源设备异常关机时,所述投屏应用异常关闭;
响应于用户的第二输入,所述投屏源设备重新启动并开启所述投屏应用。
8.根据权利要求1至7中任一项所述的方法,其特征在于,应用于投屏源设备,所述投屏源设备安装有所述投屏应用,与所述投屏应用对应的Windows接口,以及所述虚拟显示驱动,并且所述投屏源设备设置有注册表;
其中,所述投屏源设备通过投屏应用向投屏目标设备投屏,包括:
所述投屏源设备通过所述投屏应用,建立与所述投屏目标设备之间的投屏连接;
所述投屏源设备通过所述投屏连接,获取所述投屏目标设备的显示器参数;
所述投屏源设备通过所述投屏应用,将所述投屏目标设备的显示器参数写入预设路径的注册表;
所述投屏源设备通过所述投屏应用调用Windows接口,将所述虚拟显示驱动设置为启用状态;其中,所述Windows接口为投屏源设备安装的与所述投屏应用对应的应用程序接口;
所述投屏源设备通过所述虚拟显示驱动,从所述注册表中读取所述投屏目标设备的显示器参数;
所述投屏源设备通过所述虚拟显示驱动,根据所述投屏目标设备的显示器参数创建虚拟显示器;
所述虚拟显示驱动通过所述Windows接口,向所述投屏应用反馈所述虚拟显示器创建成功;
所述投屏源设备通过所述投屏应用,获取所述虚拟显示器显示的图像,作为投屏图像;其中,所述虚拟显示器显示的图像为所述投屏源设备中显示的图像;
所述投屏源设备通过所述投屏应用,向投屏目标设备发送所述投屏图像。
9.根据权利要求8所述的方法,其特征在于,
所述投屏源设备检测到虚拟显示驱动处于启用状态,包括:所述投屏源设备通过所述投屏应用调用所述Windows接口,检测到虚拟显示驱动处于启用状态;
所述投屏源设备将所述虚拟显示驱动的状态设置为禁用状态,包括:所述投屏源设备通过所述投屏应用调用所述Windows接口,将所述虚拟显示驱动的状态设置为禁用状态。
10.根据权利要求9所述的方法,其特征在于,
所述投屏源设备检测到所述投屏源设备中的注册表中有显示器参数,包括:所述投屏源设备通过所述投屏应用调用所述Windows接口,检测到所述投屏源设备中的注册表中有显示器参数;
所述投屏源设备删除所述注册表中的显示器参数,包括:所述投屏源设备通过所述投屏应用调用所述Windows接口,删除所述注册表中的显示器参数。
11.根据权利要求8所述的方法,其特征在于,所述投屏源设备通过所述投屏应用,建立与所述投屏目标设备之间的投屏连接,包括:
所述投屏源设备接收到用户在所述投屏应用的应用图标上的第三输入,所述第三输入用于触发所述投屏源设备与投屏目标设备建立投屏连接;
响应于所述第三输入,所述投屏源设备搜索到所述投屏目标设备,并显示所述投屏目标设备的标识;
所述投屏源设备接收到用户的第四输入,所述第四输入用于选择所述投屏目标设备的标识;
响应于所述第四输入,所述投屏源设备与所述投屏目标设备建立投屏连接。
12.根据权利要求2所述的方法,其特征在于,所述投屏目标设备的显示器参数包括以下至少一项:显示屏的显示尺寸、分辨率和刷新率。
13.一种电子设备,其特征在于,包括处理器,所述处理器与存储器耦合,所述处理器用于执行所述存储器中存储的计算机程序或指令,以使得所述电子设备实现如权利要求1至12中任一项所述的方法。
14.一种芯片系统,其特征在于,所述芯片系统与存储器耦合,所述芯片系统用于读取并执行所述存储器中存储的计算机程序,以实现如权利要求1至12中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至12中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211405180.2A CN115857850A (zh) | 2021-09-26 | 2021-10-15 | 投屏异常处理方法及电子设备 |
EP22846884.9A EP4180944A4 (en) | 2021-09-26 | 2022-08-29 | METHOD FOR PROCESSING SCREEN DUPLICATION ANOMALY AND ELECTRONIC DEVICE |
PCT/CN2022/115530 WO2023045712A1 (zh) | 2021-09-26 | 2022-08-29 | 投屏异常处理方法及电子设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021111303332 | 2021-09-26 | ||
CN202111130333 | 2021-09-26 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211405180.2A Division CN115857850A (zh) | 2021-09-26 | 2021-10-15 | 投屏异常处理方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114063951A CN114063951A (zh) | 2022-02-18 |
CN114063951B true CN114063951B (zh) | 2022-12-02 |
Family
ID=80234729
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111205897.8A Active CN114063951B (zh) | 2021-09-26 | 2021-10-15 | 投屏异常处理方法及电子设备 |
CN202211405180.2A Pending CN115857850A (zh) | 2021-09-26 | 2021-10-15 | 投屏异常处理方法及电子设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211405180.2A Pending CN115857850A (zh) | 2021-09-26 | 2021-10-15 | 投屏异常处理方法及电子设备 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4180944A4 (zh) |
CN (2) | CN114063951B (zh) |
WO (1) | WO2023045712A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114063951B (zh) * | 2021-09-26 | 2022-12-02 | 荣耀终端有限公司 | 投屏异常处理方法及电子设备 |
CN114610434A (zh) * | 2022-03-28 | 2022-06-10 | 联想(北京)有限公司 | 输出控制方法及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112740168A (zh) * | 2019-07-26 | 2021-04-30 | 西安诺瓦星云科技股份有限公司 | 无线投屏方法以及led显示器 |
CN113014972A (zh) * | 2021-01-28 | 2021-06-22 | 维沃移动通信有限公司 | 投屏方法、装置和系统 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7022622B2 (ja) * | 2018-03-08 | 2022-02-18 | キヤノン株式会社 | 情報処理装置およびその制御方法、並びにプログラム |
CN108595137B (zh) * | 2018-04-25 | 2021-05-04 | 广州视源电子科技股份有限公司 | 无线投屏方法、装置和投屏器 |
CN110515572B (zh) * | 2018-05-21 | 2022-11-18 | 腾讯科技(深圳)有限公司 | 投屏方法、装置、存储介质和计算机设备 |
US20200065312A1 (en) * | 2018-08-21 | 2020-02-27 | Noam Camiel | System and method for the combination of app data and external data keeping them separate and independent |
CN112394891B (zh) * | 2019-07-31 | 2023-02-03 | 华为技术有限公司 | 一种投屏方法及电子设备 |
CN112527221A (zh) * | 2019-09-18 | 2021-03-19 | 华为技术有限公司 | 一种数据传输的方法及相关设备 |
CN112527222A (zh) * | 2019-09-19 | 2021-03-19 | 华为技术有限公司 | 一种信息处理方法及电子设备 |
CN111324327B (zh) * | 2020-02-20 | 2022-03-25 | 华为技术有限公司 | 投屏方法及终端设备 |
CN111432070B (zh) * | 2020-03-17 | 2022-04-08 | 阿波罗智联(北京)科技有限公司 | 应用投屏控制方法、装置、设备和介质 |
CN111634188B (zh) * | 2020-05-29 | 2023-03-24 | 阿波罗智联(北京)科技有限公司 | 用于投屏的方法和装置 |
CN111857925B (zh) * | 2020-07-21 | 2022-05-31 | 联想(北京)有限公司 | 一种投屏处理方法及装置 |
CN112732089A (zh) * | 2021-01-18 | 2021-04-30 | 海信视像科技股份有限公司 | 一种虚拟现实设备及快捷交互方法 |
CN112905289A (zh) * | 2021-03-10 | 2021-06-04 | Oppo广东移动通信有限公司 | 应用画面的显示方法、装置、终端、投屏系统及介质 |
CN112988102B (zh) * | 2021-05-11 | 2021-09-14 | 荣耀终端有限公司 | 投屏方法和装置 |
CN114063951B (zh) * | 2021-09-26 | 2022-12-02 | 荣耀终端有限公司 | 投屏异常处理方法及电子设备 |
-
2021
- 2021-10-15 CN CN202111205897.8A patent/CN114063951B/zh active Active
- 2021-10-15 CN CN202211405180.2A patent/CN115857850A/zh active Pending
-
2022
- 2022-08-29 EP EP22846884.9A patent/EP4180944A4/en active Pending
- 2022-08-29 WO PCT/CN2022/115530 patent/WO2023045712A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112740168A (zh) * | 2019-07-26 | 2021-04-30 | 西安诺瓦星云科技股份有限公司 | 无线投屏方法以及led显示器 |
CN113014972A (zh) * | 2021-01-28 | 2021-06-22 | 维沃移动通信有限公司 | 投屏方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP4180944A1 (en) | 2023-05-17 |
CN114063951A (zh) | 2022-02-18 |
WO2023045712A1 (zh) | 2023-03-30 |
CN115857850A (zh) | 2023-03-28 |
EP4180944A4 (en) | 2024-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11669242B2 (en) | Screenshot method and electronic device | |
CN113885759B (zh) | 通知消息处理方法、设备、系统及计算机可读存储介质 | |
CN113542839B (zh) | 电子设备的投屏方法和电子设备 | |
CN111061445A (zh) | 投屏方法和计算设备 | |
WO2021043045A1 (zh) | 一种网络配置信息的配置方法及设备 | |
CN112351156B (zh) | 一种镜头切换方法及装置 | |
CN111491297B (zh) | 一种控制智能家居设备连网的方法及设备 | |
CN112492193B (zh) | 一种回调流的处理方法及设备 | |
WO2023045712A1 (zh) | 投屏异常处理方法及电子设备 | |
CN116055773A (zh) | 一种多屏协同方法、系统及电子设备 | |
CN114489533A (zh) | 投屏方法、装置、电子设备及计算机可读存储介质 | |
CN114185503B (zh) | 多屏交互的系统、方法、装置和介质 | |
CN113746718B (zh) | 一种内容分享的方法、装置及系统 | |
CN114442970A (zh) | 一种应用窗口的投屏方法与电子设备 | |
CN113810640A (zh) | 视频处理方法、装置及电子设备 | |
CN113747056A (zh) | 拍照方法、装置及电子设备 | |
CN112532508B (zh) | 一种视频通信方法及视频通信装置 | |
CN114691059B (zh) | 一种投屏显示方法及电子设备 | |
CN115022852B (zh) | 控制蓝牙传输速率的方法及电子设备 | |
CN115460445B (zh) | 电子设备的投屏方法和电子设备 | |
CN114125805B (zh) | 蓝牙回连方法及终端设备 | |
WO2023093778A1 (zh) | 一种截屏方法及相关装置 | |
CN115686339A (zh) | 跨进程信息处理方法、电子设备、存储介质和程序产品 | |
CN117407094A (zh) | 一种显示方法、电子设备和系统 | |
CN114329595A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40069249 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |