CN115729501A - 投屏方法、电子设备及存储介质 - Google Patents
投屏方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115729501A CN115729501A CN202210290956.4A CN202210290956A CN115729501A CN 115729501 A CN115729501 A CN 115729501A CN 202210290956 A CN202210290956 A CN 202210290956A CN 115729501 A CN115729501 A CN 115729501A
- Authority
- CN
- China
- Prior art keywords
- screen
- display
- screen projection
- application
- interface
- 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
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
本申请的实施方式提供了一种投屏方法、电子设备及存储介质。部分实施例中,投屏方法包括:通过投屏端的投屏应用获取第一用户操作信息;响应于第一用户操作信息指示对第三方应用进行投屏,调用操作***的第一软件接口以使操作***根据第一用户操作信息确定用户操作的第三方应用,并根据确定出的第三方应用的界面信息绘制操作***创建的第一虚拟屏;根据基于确定出的第三方应用的界面信息绘制的第一虚拟屏的屏幕界面确定第一投屏数据;以及通过投屏应用和显示端的被投屏应用之间的互联通道传输第一投屏数据至显示端,以通过显示端的至少一个显示屏显示第一投屏数据。本申请的实施方式可实现投屏端和显示端的投屏。
Description
技术领域
本申请涉及通信技术领域,更具体地,涉及一种投屏方法、电子设备及存储介质。
背景技术
随着汽车技术的发展,汽车具备的功能越来越多。例如,导航功能、视频播放功能等。随着汽车功能的增加,对汽车中控的处理能力和存储能力等要求越来越高,汽车成本也越来越高。
发明内容
本申请的实施方式提供了一种可至少部分解决现有技术中存在的上述问题的投屏方法、电子设备及存储介质。
第一方面,本申请的实施方式提供了一种投屏方法,包括:通过投屏端的投屏应用获取第一用户操作信息,其中,投屏端安装有操作***和第三方应用;响应于第一用户操作信息指示对第三方应用进行投屏,调用操作***的第一软件接口以使操作***根据第一用户操作信息确定用户操作的第三方应用,并根据确定出的第三方应用的界面信息绘制操作***创建的第一虚拟屏;根据基于确定出的第三方应用的界面信息绘制的第一虚拟屏的屏幕界面确定第一投屏数据;以及通过投屏应用和显示端的被投屏应用之间的互联通道传输第一投屏数据至显示端,以通过显示端的至少一个显示屏显示第一投屏数据。
第二方面,本申请的实施方式提供了一种投屏方法,包括:通过显示端的被投屏应用和投屏端的投屏应用之间的互联通道接收投屏端传输的第一投屏数据,第一投屏数据根据投屏端的操作***基于第三方应用的界面信息绘制的第一虚拟屏的屏幕界面确定;以及通过显示端的至少一个显示屏显示第一投屏数据。
第三方面,本申请的实施方式提供了一种电子设备,包括:至少一个处理器;与至少一个处理器通信连接的通信单元,在处理器的控制下进行数据传输;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上述实施方式提及的投屏方法;或者,执行如上述实施方式提及的投屏方法。
第四方面,本申请的实施方式提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,实现上述实施方式提及的投屏方法。
根据本申请一个实施方式,投屏端可通过投屏应用控制操作***将第三方应用的操作界面绘制至第一虚拟屏,并通过投屏应用将第一虚拟屏的屏幕界面传输至显示端显示,实现了投屏端和显示端之间的投屏。与此同时,由操作***将第三方应用的操作界面绘制至第一虚拟屏,投屏应用负责投屏数据的传输,可减少投屏应用的功耗,进而减少由于投屏应用功耗过高使得操作***自动关闭投屏应用并导致投屏失败的情况。操作***将第三方应用的操作界面绘制至第一虚拟屏后进行投屏,可减少锁屏状态下投屏失败的情况。此外,投屏端将基于第三方应用的界面信息绘制的第一虚拟屏投屏至显示端,显示端可显示第三方应用对用户操作的响应结果,使得显示端可以在未安装第三方应用的情况下为用户提供第三方应用的服务,降低了对显示端的处理能力等要求,从而降低显示端的硬件成本。
附图说明
通过阅读参照以下附图所作的对非限制性实施例的详细描述,本申请的其它特征、目的和优点将会变得更明显。其中:
图1是根据本申请的实施方式的投屏端和显示端构成的投屏***的框架示意图;
图2是本申请的实施方式提供的投屏端的框图;
图3是本申请的实施方式提供的以车辆为例的显示端的框图;
图4是本申请的实施方式提供的显示端的至少一个显示屏的显示界面示意图;
图5是本申请的实施方式提供的显示端的至少一个显示屏的显示界面示意图;
图6是根据本申请的实施方式提供的投屏端的投屏方法的流程示意图;
图7是根据本申请的一些实施方式的第二主操作界面的界面示意图;
图8是根据本申请的一些实施方式的第一主操作界面的界面示意图;
图9是据本申请的另一些实施方式的第一主操作界面的界面示意图;
图10是根据本申请的实施方式提供的显示端的投屏方法的流程示意图;
图11是根据本申请的实施方式的电子设备的结构示意图。
具体实施方式
为了更好地理解本申请,将参考附图对本申请的各个方面做出更详细的说明。应理解,这些详细说明只是对本申请的示例性实施方式的描述,而非以任何方式限制本申请的范围。在说明书全文中,相同的附图标号指代相同的元件。表述“和/或”包括相关联的所列项目中的一个或多个的任何和全部组合。
应注意,在本说明书中,第一、第二、第三等的表述仅用于将一个特征与另一个特征区域分开来,而不表示对特征的任何限制,尤其不表示任何的先后顺序。
还应理解的是,诸如“包括”、“包括有”、“具有”、“包含”和/或“包含有”等表述在本说明书中是开放性而非封闭性的表述,其表示存在所陈述的特征、元件和/或部件,但不排除一个或多个其它特征、元件、部件和/或它们的组合的存在。此外,当诸如“...中的至少一个”的表述出现在所列特征的列表之后时,其修饰整列特征,而非仅仅修饰列表中的单独元件。此外,当描述本申请的实施方式时,使用“可”表示“本申请的一个或多个实施方式”。并且,用语“示例性的”旨在指代示例或举例说明。
除非另外限定,否则本文中使用的所有措辞(包括工程术语和科技术语)均具有与本申请所属领域普通技术人员的通常理解相同的含义。还应理解的是,除非本申请中有明确的说明,否则在常用词典中定义的词语应被解释为具有与它们在相关技术的上下文中的含义一致的含义,而不应以理想化或过于形式化的意义解释。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。另外,除非明确限定或与上下文相矛盾,否则本申请所记载的方法中包含的具体步骤不必限于所记载的顺序,而可以任意顺序执行或并行地执行。下面将参考附图并结合实施例来详细说明本申请。
本申请的实施方式提供了一种投屏***,投屏***包括投屏端和显示端,投屏端和显示端通信连接,以将投屏端的数据呈现在显示端。
作为一个示例,投屏端11可为移动终端,显示端12可为设置有显示屏的车辆。移动终端可以是智能电话(如手机)、个人电脑、平板电脑、膝上型电脑、可佩戴装置(如智能手环等)、超级本等,本申请对此不作限制。车辆可以是汽车、电车、火车、船、飞机、直升飞机、游乐场车辆、施工设备等,本申请实施例不做特别的限定。
下文以投屏端为移动终端,显示端为车辆为例,对本申请的实施方式提供的投屏***、投屏端的投屏方法和显示端的投屏方法等进行示例性说明。应当理解的是,在未背离本申请教导的情况下,投屏端和显示端也可为其他电子设备,其实现投屏的方式可参考本申请的相关描述。
图1是根据本申请的实施方式的投屏端11和显示端12构成的投屏***10的框架示意图,图2是本申请的实施方式提供的投屏端11的框图。如图1所示,投屏端和显示端之间通信连接。如图2所示,投屏端11包括机体111和显示屏112,机体111中安装有与显示屏112连接的处理器(未示出)、以及与处理器连接的存储器(未示出),存储器中存储有与本申请实施方式提及的投屏端11的投屏方法相关的指令,以便处理器通过执行上述指令实现本申请实施方式提及的投屏端11的投屏方法。投屏端11安装有投屏应用1121和其他第三方应用1122。投屏应用1121和其他第三方应用1122的图标可通过显示屏112显示,以便用户使用。其中,投屏应用1121可用于将投屏端11的投屏数据传输至显示端12。
作为一个示例,投屏应用中设置有多个应用模块(未示出),各个应用模块可以是一个独立运行的小程序,并分别用于实现不同的功能。多个应用模块之间也可以交互,本申请对此不作限制。
应当理解的是,图2仅为示例性说明,投屏端11安装的第三方应用1122的数量、投屏应用1121的应用模块的数量、投屏应用1121和第三方应用1122的排布形式等可根据需要调整,本申请对此不作限制。
示例地,投屏应用1121可具有创建虚拟屏的功能。相对于投屏端11的真实的显示屏112而言,虚拟屏亦可称为虚拟显示屏幕。虚拟屏可通过软件编程实现创建,用于承载应用模块运行过程中的操作界面的内容,将应用模块的操作界面显示在虚拟屏(即根据应用模块的界面信息绘制虚拟屏)相当于对应用模块进行显示编码。
示例地,投屏应用1121中的各个应用模块可具有一些适用于显示端的功能。例如,显示端12为车辆,应用模块可包括:导航模块、视频模块等。
示例地,第三方应用可包括聊天软件、娱乐软件、学习软件等,本申请对此不作限制。
图3是本申请的实施方式提供的以车辆为例的显示端12的框图。显示端12内可安装有一个或多个显示屏121。如图3所示,显示端12的显示屏121可包括:位于主驾驶视角内的中控显示屏1211、位于副驾驶视角内的副驾驶显示屏1212、安装于主驾驶座位靠背后侧的主驾驶后枕屏1213以及安装于副驾驶座位靠背后侧的副驾驶后枕屏1214。上述显示屏121可通过涂覆具有显示功能的材料(如柔性显示屏)形成,也可为液晶显示屏、LED显示屏等,本申请对此不作限制。显示端12上可安装被投屏应用(未示出)。被投屏应用在获得用户授权的情况下可控制显示端12与投屏端11建立通信连接,并具有与投屏应用1121相适配的应用程序。被投屏应用具有与投屏应用1121相适配的应用程序可以指被投屏应用具有以下任一功能:
1、被投屏应用可根据预设的、与投屏应用1121中对投屏数据的加密、压缩等处理方式相对应的解密、解压缩等数据处理方式,处理并显示对投屏应用1121传输的投屏数据。
2、被投屏应用可获取投屏应用1121中安装的应用模块的信息,并在获得授权的情况下,可通过投屏应用1121获取投屏端11中安装的第三方应用1122的信息。
应当理解的是,在未背离本申请教导的情况下,图3中的显示屏121的数量和位置可根据需要调整,本申请对此不作限制。
作为一种选择,投屏应用被启动后,在基于显示端的中控显示屏创建的虚拟屏上初始化显示界面,使其显示投屏应用的主操作界面。其中,在投屏应用获得授权的情况下,主操作界面中可显示投屏应用中安装的应用模块的信息(例如名称和图标)和第三方应用的信息(例如名称和图标)。投屏应用将绘制后的虚拟屏传输至显示端的被投屏应用,以便显示端的中控显示屏显示投屏应用的主操作界面。例如,图4是本申请的实施方式提供的显示端的至少一个显示屏121(例如中控显示屏)的显示界面示意图。其中,应用模块1和应用模块2可例如为导航模块和视频模块,聊天软件和游戏软件等为第三方应用。为了方便用户了解区分应用(即应用模块和第三方应用),可对各个应用的图标的显示位置进行调整,使得应用模块的图标显示在操作界面的同一区域(例如操作界面的左侧区域),第三方应用的图标显示在操作界面的同一区域(例如操作界面的右侧区域)。应该理解的是,图4仅为示例性说明,投屏端实际安装的第三方应用的类型和个数等可根据需要设置。
应该理解的是,在未背离本申请教导的情况下,主操作界面也可以由被投屏应用绘制。示例地,投屏应用将应用模块的信息和第三方应用的信息传输给被投屏应用,由被投屏应用基于上述信息在中控显示屏上绘制主操作界面。本申请对此不作限制。
作为一个示例,显示端通过显示端的至少一个显示屏显示与显示端互联的投屏端的投屏应用中的应用模块的标识,以及投屏端上具有投屏权限的第三方应用的标识,获取并传输显示端的至少一个显示屏的用户操作信息至投屏端。投屏端获取用户操作信息,并据此确定投屏数据。显示端获取投屏端确定的投屏数据,并通过显示端的至少一个显示屏显示投屏数据。通过上述方式,使得用户可通过显示端操作投屏端的投屏应用中的应用模块和投屏端的第三方应用,进而使得显示端在未安装应用模块和第三方应用的情况下,具有应用模块和第三方应用的功能,可降低对显示端的处理能力等要求,从而降低显示端的硬件成本。
应当理解的是,在未背离本申请教导的情况下,用户也可直接在投屏端对投屏应用的应用模块和第三方应用进行操作,即投屏端通过投屏端的显示屏等输入设备获取用户操作信息,本申请对用户操作信息的来源不作限制。
在本申请的一些实施方式中,投屏应用和第三方应用的功能程序可安装于投屏端,也可安装于云端。投屏端存储有可实现投屏应用和第三方应用的功能的云端的地址,并可通过该地址与云端的服务器建立连接。
作为一个示例,用于实现各应用模块的功能的程序可以安装于投屏端,例如,投屏应用的数据中包括用于实现各应用模块的功能的程序。用于实现各应用模块的功能的程序也可以安装于云端(即其远程服务器或服务器组),例如,投屏应用的数据中包括可实现各应用模块的功能的云端的地址,投屏应用可在需要调用任一应用模块的功能时,基于该云端的地址信息,向云端请求相关服务。
例如,投屏端获取用户操作信息;根据用户操作信息确定用户触发的应用模块;通过确定出的应用模块的通信接口,调用应用模块的服务器响应用户操作信息。投屏端接收服务器的反馈数据,并根据服务器的反馈数据确定应用模块的界面信息。
在本申请的一些实施方式中,在图4所示的主操作界面上,被投屏应用检测到用户触发应用模块1后,将指示触发应用模块1的用户操作信息传输至投屏端的投屏应用。投屏端的投屏应用启动应用模块1,并在基于中控显示屏创建的虚拟屏上绘制应用模块1的操作界面。投屏端将该虚拟屏的屏幕界面传输至显示端,显示端即可显示应用模块1的操作界面,为用户提供应用模块1相关的服务。
作为一种选择,图5是本申请的实施方式提供的显示端的至少一个显示屏的显示界面示意图。如图5所示,至少一个显示屏121通过第一显示区域121-1显示投屏数据,通过第二显示区域121-2显示未启动的应用模块的信息和/或第三方应用的信息,以便用户在对某一应用投屏的基础上,可以开启新的应用投屏。
作为一个示例,投屏应用在虚拟屏上绘制应用模块的操作界面的方式包括:根据应用模块的操作界面绘制虚拟屏的第一区域,并根据应用模块的信息和/或第三方应用的信息绘制虚拟屏的第二区域。投屏应用将根据该虚拟屏的屏幕界面确定的投屏数据传输至被投屏应用后,被投屏应用基于该投屏数据在至少一个显示屏121上呈现如图5所示的界面。
作为另一示例,投屏应用根据应用模块的操作界面绘制虚拟屏,并将根据该虚拟屏的屏幕界面确定的投屏数据传输至被投屏应用后,被投屏应用在至少一个显示屏121的第一显示区域121-1展示投屏数据,并根据应用模块的信息和/或第三方应用的信息在第二显示区域121-2展示应用模块的图标和/或第三方应用的图标,从而呈现图5所示的界面。
下面对投屏端的投屏应用的启动条件进行示例性说明。
在本申请的一些实施方式中,投屏端检测到投屏指令后,开启投屏应用,投屏指令的触发方式包括但不限于方式一、方式二和方式三。
方式一
在本申请的一些实施方式中,用户可在投屏端开启投屏应用。投屏端响应于投屏端的屏幕检测数据指示被触发的应用图标为投屏应用的图标,触发投屏指令,以开启投屏应用。
方式二
在本申请的一些实施方式中,投屏端靠近显示端的情况下,自动触发投屏指令。投屏端响应于检测到投屏请求,触发投屏指令,投屏请求的触发条件至少包括投屏端靠近显示端。投屏端靠近显示端后自动开启投屏应用,进行投屏操作,简化了用户触发投屏操作的流程,降低了投屏操作的复杂度,提高了用户体验。
在本申请的一些实施方式中,投屏请求可以由显示端在确定投屏端靠近显示端后发送至投屏端。示例地,显示端检测投屏端和显示端的距离,并据此判断投屏端是否靠近显示端。显示端响应于确定出投屏端靠近显示端,发送投屏请求至投屏端。
作为一个示例,显示端上可安装距离检测模块,距离检测模块感应投屏端和显示端的距离。显示端响应于投屏端和显示端的距离小于预定的距离阈值,或者,投屏端和显示端的距离指示投屏端的运动趋势为靠近显示端,则判定投屏端靠近显示端。
示例地,距离检测模块可以为超宽带(Ultra Wide Band,UWB)模块。具体地,显示端和投屏端上分别安装有一个或多个UWB模块(下面将显示端的UWB模块称为UWB锚点,投屏端的UWB模块称为UWB标签)。UWB锚点可在UWB标签进入其感应范围的情况下,获取其与UWB标签的距离。显示端可根据UWB锚点感应的距离值判断投屏端是否靠近显示端。由于UWB模块的精度更高,使得其测量的距离值更准确,提高了投屏方法的准确性。
应当理解的是,在未背离本申请教导的情况下,显示端也可以通过例如分析图像拍摄装置拍摄的图像中的投屏端的使用者和车辆的距离等方式,确定投屏端和显示端的距离,本申请对此不作限制。
应当理解的是,在未背离本申请教导的情况下,也可以由投屏端测量投屏端和显示端的距离,并在确定投屏端和显示端的距离指示投屏端靠近显示端的情况下,触发投屏请求,开启自动投屏,本申请对此不作限制。
方式三
在本申请的一些实施方式中,投屏端靠近显示端且自身状态符合要求的情况下,自动触发投屏指令。投屏端在检测到投屏请求后,获取投屏端的状态信息,投屏请求的触发条件至少包括投屏端靠近显示端。投屏端根据投屏端的状态信息是否符合投屏要求,确定是否触发投屏指令。投屏端响应于检测到投屏指令,传输投屏数据至显示端。值得一提的是,投屏端在接收到投屏请求后,对投屏端的状态进行检测,在确定投屏端的状态符合投屏要求后,再开启投屏应用,可减少由于投屏端的状态原因导致投屏数据不具有投屏意义、投屏操作影响投屏端的正常使用等情况。需要说明的是,方式三中的投屏请求的触发方式可参考方式二的相关描述,此处不再赘述。
下面对判断投屏端是否符合投屏条件的方式进行示例性说明。
在本申请的一些实施方式中,投屏端的状态信息可包括投屏端的电池状态信息和投屏端的使用状态信息中的至少一个。使用状态信息包括以下至少之一:投屏端的屏幕状态信息、投屏端的音频通道状态信息、投屏端的屏幕图像信息和投屏端的当前运行的应用的特征信息。下面对各个状态信息及其对应的投屏要求进行示例性说明。
一、电池状态信息的示例说明
在本申请的一些实施方式中,投屏端的状态信息包括电池状态信息,投屏要求至少包括电池状态要求。其中,电池状态要求可包括:投屏端的电池状态信息指示投屏端的电量大于预定的电量阈值;或者,投屏端的电池状态信息指示投屏端的电池处于充电状态。投屏端开启投屏后,其耗电量增加。若投屏端的电量不充足,有可能影响投屏端的其他功能的使用。在投屏前对投屏端的电池状态信息进行判断,可减少投屏操作对投屏端的其他功能的影响。
示例地,电量阈值可以是固定值,如50%-90%的任意数值,还可以是动态值。例如,投屏端根据投屏应用的耗电量动态调整电量阈值,若投屏应用的耗电量大,电量阈值大,投屏应用的耗电量小,电量阈值小,使得投屏端可结合投屏应用的耗电情况灵活决定是否触发投屏操作。
应当理解的是,本领域技术人员可以基于其他目的调整电池状态要求设置,本申请对此不作限制。
二、屏幕状态信息的示例说明
在本申请的一些实施方式中,投屏端的状态信息包括屏幕状态信息,投屏要求至少包括屏幕状态要求。屏幕状态要求可包括:屏幕状态信息指示投屏端亮屏。换言之,投屏端在其处于灭屏状态的情况下,不触发自动投屏。一些情况下,即使投屏端开启投屏,其获取的投屏数据对用户而言观看意义较小甚至无观看意义,即投屏数据无投屏意义。例如,投屏端借助屏幕录制的方式进行投屏,但投屏端当前未灭屏状态,其录制的投屏数据可能是锁屏界面,锁屏界面对用户而言观看意义较小。投屏端通过检测投屏端的屏幕状态信息,在确定投屏端亮屏后自动投屏,可减少在投屏端无需投屏的情况下触发投屏操作造成的资源浪费。
应当理解的是,本领域技术人员可以基于其他目的调整屏幕状态要求,本申请对此不作限制。
三、音频通道状态信息的示例性说明
在本申请的一些实施方式中,投屏端的状态信息包括音频通道状态信息,投屏要求至少包括音频状态要求。
作为一个示例,音频状态要求可包括:音频通道状态信息指示投屏端不是通话状态。换言之,若投屏端正在通话,投屏端不触发自动投屏指令。投屏端处于通话状态时,其投屏数据包括通话应用的操作界面,该界面可能存在隐私信息。投屏端通过检测音频通道状态信息,确定投屏端的音频输入通道和音频输出通道是否同时开启,判断投屏端是否处于通话状态,以减少隐私泄露等问题。
作为另一示例,音频状态要求也可包括:音频状态信息指示投屏端有音频输出,即投屏端在播放音频的情况下可触发自动投屏。一般情况下,在使用投屏端的观看视频、导航等功能的情况下,投屏端会开启音频输出通道开启。因此,投屏端可检测音频通道状态信息,确定投屏端的正在运行的应用中是否存在可能需要投屏的应用。在投屏端存在可能需要投屏的应用的情况下,再触发自动投屏,可减少无投屏需求的情况下开启投屏造成的资源浪费。
应当理解的是,在未背离本申请教导的情况下,音频状态要求可根据需要设置,本申请对此不作限制。
四、屏幕图像信息的示例性说明
在本申请的一些实施方式中,投屏端的状态信息包括屏幕图像信息,投屏要求包括屏幕显示要求。示例地,屏幕显示要求包括:屏幕图像信息指示投屏端当前运行的应用具有投屏需求。其中,当前运行的应用可包括投屏端前台运行的应用。投屏端靠近显示端时,若投屏端运行的应用是界面信息变化小、用户主要通过听觉获取信息的应用,例如通话、听歌等,将投屏端投屏至显示端以通过显示端为用户提供服务和继续使用投屏端为用户提供服务的差距不大。该情况下,投屏端可以不自动触发投屏,在用户自行确定需要投屏后,再选择手动触发投屏操作,以减少投屏操作带来的电量损耗、计算资源损耗等。
在本申请的一些实施方式中,投屏端按照预设的截屏规则,获取投屏端的显示屏的多个截屏图像,作为屏幕图像信息,并根据多个屏幕图像之间的相似度和预设的需求判定规则,判断屏幕图像信息是否符合屏幕显示要求。下面对投屏端获取截屏图像的方式进行示例性说明。其中,两个屏幕图像之间的相似度可根据两个屏幕图像相对应的像素点的图像参数的值的变化大小来确定。像素点的图像参数可例如是像素点的RGB值等,此处不作限制。
作为一个示例,投屏端可周期性截取截屏图像。例如,投屏端在t1时刻截取第一截屏图像,在t1+m时刻截取第二截屏图像,在t1+2m时刻截取第三截屏图像……直至根据需求判定规则确定出当前运行的应用是否具有投屏需求,结束截屏。其中,预定的截屏间隔m可设置为1s、0.5s等。
作为另一示例,投屏端可非周期性地截取截屏图像。示例地,投屏端按照预设的截屏间隔截取M张截屏图像,M大于1;根据M张截屏图像之间的相似度,动态调整截屏间隔。
为了便于理解,下面以M=2为例进行示例说明。投屏端截取第一截屏图像,并在间隔预定的截屏间隔后,截取第二截屏图像;根据第一截屏图像和第二投屏图像的相似度,以及预设的间隔调整规则,更新截屏间隔,根据更新后的截屏间隔,截取第三截屏图像;将第二截屏图像作为第一截屏图像,将第三截屏图像作为第二截屏图像,继续执行更新截屏间隔的步骤,直至判断出当前运行的应用是否具有投屏需求,结束截屏。
应当理解的是,M也可以是大于2的整数,投屏端计算连续截取的两张截屏图像之间的相似度,根据计算出的多个相似度和预设的间隔调整规则,调整截屏间隔,本申请对此不作限制。
作为一种选择,间隔调整规则指示:若M张截屏图像之间的相似度大于第一阈值,增大截屏间隔,若确定M张截屏图像之间的相似度小于等于第一阈值,减小截屏间隔。投屏端根据连续截取的两张截屏图像的相似度大小,动态调整截屏间隔,可在相似度较大增大的情况下截屏间隔,减少截屏操作带来的资源损耗,在相似度较小的情况下缩短截屏间隔,增大判断结果的准确性。
例如,M=2,需求判定规则指示若连续截取的两张截屏图像的相似度小于相似度阈值,则确定当前运行的应用具有投屏需求。投屏端在t1时刻截取第一截屏图像,在t1+m(预定的截屏间隔)时刻截取第二截屏图像,计算第一截屏图像和第二截屏图像的相似度,响应于第一截屏图像和第二截屏图像的相似度大于等于相似度阈值,且第一截屏图像和第二截屏图像的相似度大于第一阈值,则更新判断次数,在t1+m+l1时刻截取第三截屏图像,将t1+m时刻的截屏图像作为第一截屏图像,t1+m+l1时刻的截屏图像作为第二截屏图像,再次计算第一截屏图像和第二截屏图像的相似度,响应于第一截屏图像和第二截屏图像的相似度小于相似度阈值,判定当前运行的应用具有投屏需求。其中,l1>m,第一阈值可大于相似度阈值。
应当理解的是,在未背离本申请教导的情况下,可根据需要调整截取截屏图像方式,本申请对此不作限制。
上面对截取截屏图像的方式进行了示例性说明,下面对本申请的实施方式提及的需求判定规则进行示例性说明。
作为一个示例,需求判定规则可指示:响应于N张截屏图像中任意两张截屏图像的相似度中的至少一个小于相似度阈值,确定当前运行的应用具有投屏需求,响应于N张截屏图像中任意两张截屏图像的相似度均大于等于相似度阈值,确定当前运行的应用不具有投屏需求。其中,N可大于等于M,也可小于M,本申请对此不作限制。
为了便于理解,下面以N等于3进行示例性说明。投屏端响应于第一截屏图像和第二截屏图像的相似度小于预定的相似度阈值,则判定当前运行的应用具有投屏需求,投屏端响应于第一截屏图像和第二截屏图像的相似度大于等于相似度阈值时,确定第二截屏图像和第三截屏图像的相似度。投屏端响应于第二截屏图像和第三截屏图像的相似度小于相似度阈值,则判定当前运行的应用具有投屏需求,响应于第二截屏图像和第三截屏图像的相似度大于等于相似度阈值,确定第一截屏图像和第三截屏图像的相似度。投屏端响应于第一截屏图像和第三截屏图像的相似度小于相似度阈值,则判定当前运行的应用具有投屏需求,响应于第一截屏图像和第三截屏图像的相似度大于等于相似度阈值,判定当前运行的应用不具有投屏需求。
作为另一示例,需求判定规则可指示:获取多个截屏图像中连续截取的两张截屏图像的相似度,响应于连续截取的两张截屏图像的相似度中的至少一个小于相似度阈值,确定当前运行的应用具有投屏需求,响应于连续截取的两张截屏图像的相似度均大于等于相似度阈值,确定当前运行的应用不具有投屏需求。
应当理解的是,在未背离本申请教导的情况下,相似度阈值可根据经验或根据听歌等应用的截屏图像的相似度计算结果设置,本申请对此不作限制。
应当理解的是,在未背离本申请教导的情况下,可根据需要调整需求判定规则,本申请对此不作限制。
五、当前运行的应用的特征信息的示例性说明
在本申请的一些实施方式中,投屏端的状态信息包括当前运行的应用的特征信息,投屏要求包括投屏应用要求。投屏应用要求包括:当前运行的应用的特征信息指示当前运行的应用具有投屏需求。
示例地,当前运行的应用的特征信息包括当前运行的应用的名称,投屏端根据当前运行的应用的名称判断当前运行的应用是否有投屏需求。投屏端根据应用的名称判定当前运行的应用是否需要投屏,使得投屏端可基于当前运行的应用的特点决定是否投屏,减少不必要的资源损耗。
例如,投屏端中存储有第一数据表,第一数据表中包含预先设定的具有投屏需求的应用名称。投屏端可以通过例如TopActivity(顶级活动)工具获取当前运行的应用的名称,响应于当前运行的应用的名称和第一数据表匹配成功(即第一数据表中存在当前运行的应用的名称),判定当前运行的应用具有投屏需求,响应于当前运行的应用的名称和第一数据表匹配失败(即第一数据表中不存在当前运行的应用的名称),判定当前运行的应用不具有投屏需求。
作为另一示例,投屏端中存储有第二数据表和第三数据表,第二数据表中应用名称和应用类型的对应关系,第三数据表包含预先设定的具有投屏需求的应用类型。投屏端通过例如TopActivity工具获取当前运行的应用的名称,根据第一数据表确定当前运行的应用的名称对应的应用类型;响应于确定出的应用类型和第三数据表匹配成功判定当前运行的应用具有投屏需求,响应于确定出的应用类型和第三数据表匹配失败,判定当前运行的应用不具有投屏需求。
应当理解的是,在未背离本申请教导的情况下,还可通过其他方式判断当前运行的应用是否具有投屏需求,本申请对此不作限制。
上面对各个状态信息进行了示例说明,应当理解的是,在一些实施方式中,投屏端可根据一个状态信息或多个状态信息共同决定是否自动触发投屏指令。例如,在本申请的一些实施方式中,投屏端的状态信息包括至少两种不同的状态信息(第一状态信息和第二状态信息)。投屏端的状态信息包括第一状态信息和第二状态信息;根据状态信息是否符合投屏要求,确定是否触发投屏指令包括:响应于第一状态信息符合投屏要求中的第一状态要求,根据第二状态信息是否符合投屏要求中的第二状态要求,确定是否触发投屏指令。投屏端根据多个状态信息依次判断是否触发自动投屏,使其可以从多维度考虑投屏端是否具有投屏需求,提高投屏需求判断结果的准确性。
作为一个示例,第一状态信息包括投屏端的电池状态信息,第二状态信息包括投屏端的使用状态信息。投屏要求可包括电池状态要求,以及使用状态信息对应的使用状态要求(例如屏幕状态要求、音频状态要求、屏幕显示要和投屏应用要求中的至少一个)。该示例中,投屏端在符合电池状态要求的情况下,即投屏不影响投屏端的其他功能的情况下,再结合投屏端的使用状态确定是否投屏,可减少投屏端电池已不符合电池状态要求的情况下进行后续判断造成的计算资源的浪费。
作为另一示例,第一状态信息包括投屏端的屏幕状态信息,第二状态信息至少包括投屏端的音频通道状态信息、投屏端的屏幕图像信息和投屏端的当前运行的应用的特征信息中的至少一个。投屏要求可包括屏幕状态要求,以及音频状态要求、屏幕显示要和投屏应用要求中的至少一个。该示例中,投屏端在屏幕亮屏的情况下,结合投屏端开启的应用是否有投屏需求确定是否投屏,可提高投屏有效性。
作为再一示例,第一状态信息包括投屏端的音频通道状态信息,第二状态信息至少包括投屏端的屏幕图像信息和投屏端的当前运行的应用的特征信息中的一个。投屏要求可包括音频状态要求,以及屏幕显示要和投屏应用要求中的至少一个。该示例中,投屏端在保护通话隐私的情况下,结合投屏当前运行的应用是否有投屏需求确定是否投屏,可提高投屏的安全性和有效性。
应当理解的是,为了便于理解,本申请的实施方式中,以投屏端在检测到投屏指令后,开启投屏应用以执行本申请提及的投屏端的投屏方法为例进行示例性说明,在其他实施方式中,投屏端也可在投屏端开机后自动启动投屏应用,在检测到投屏指令后,在进行投屏数据的传输,本申请对投屏应用的启动条件不作限制。
作为一种选择,投屏端在确定状态信息符合要求,且,用户确认投屏后开启投屏。示例地,投屏端响应于状态信息符合投屏要求,反馈投屏确认信息;响应于检测到基于投屏确认信息反馈的投屏确认指令,触发投屏指令。换言之,投屏端在确定其状态信息符合投屏要求的情况下,通过弹窗等方式,反馈投屏确认信息。投屏端检测到用户触发投屏确认指令后,触发投屏指令,以便启动后续的投屏操作。在用户确认投屏的情况下开启投屏,可在简化投屏操作的前提下,提高了用户信息的安全性。
在本申请的一些实施方式中,投屏端为移动终端,显示端为车辆。移动终端在确定其状态信息符合投屏要求,且,移动终端不处于驾驶位的情况下,触发投屏指令。用户在驾驶车辆时不触发投屏操作,可减少投屏操作对车辆行驶造成的影响,提高行车安全性。
应当理解的是,在未背离本申请教导的情况下,投屏端也可在确定其状态信息符合投屏要求后,直接触发投屏指令,本申请对此不作限制。
以上对投屏端的投屏应用的启动条件进行了示例性说明,以下对显示端的被投屏应用的启动条件进行示例性说明。
在本申请的一些实施方式中,显示端响应于显示端的显示屏的屏幕检测数据指示投屏应用的图标被触发,开启被投屏应用。
可选择的,显示端在开启被投屏应用后,向投屏端发送投屏请求,以便触发投屏操作。用户可在显示端直接开启被投屏应用,并触发投屏操作,可满足用户关于投屏的实时需求。
在本申请的一些实施方式中,显示端响应于检测到投屏端靠近显示端,开启被投屏应用。在投屏端靠近显示端的情况下,自动开启被投屏阴影,启动投屏,简化了投屏操作,提高了用户体验。
在本申请的一些实施方式中,显示端响应于检测到投屏端靠近显示端,发送投屏请求至投屏端,以供投屏端响应于检测到投屏请求,根据状态信息是否符合投屏要求,确定是否触发投屏指令,并在触发投屏指令后,传输投屏数据至显示端。响应于接收到投屏1发送的连接请求(例如下文提及的第一连接请求或第二连接请求)后,开启被投屏应用,并与投屏端建立用于传输投屏数据的数据链路。显示端接收投屏数据,并通过显示端的至少一个显示屏显示投屏数据。在投屏端确定存在投屏需求后再开启被投屏应用,可减少运行被投屏应用造成的资源消耗。
应当理解的是,在未背离本申请教导的情况下,还可为被投屏应用设置其他的启动条件,本申请对此不作限制。
以上对投屏应用和被投屏应用的启动条件进行了示例性说明,以下对投屏端和显示端之间的建立用于传输投屏数据的数据链路的方式进行示例性说明。
实施例1
在本申请的一些实施方式中,投屏端在检测到投屏指令后,根据投屏端的网络设备信息和显示端的网络设备信息,从第一连接方式和第二连接方式中选择一种连接方式,并根据选择的连接方式,建立用于传输投屏数据的数据链路。
作为一个示例,第一连接方式指示:通过投屏端的网络设备提供第一互联网络,显示端和投屏端通过第一互联网络建立数据链路。第二连接方式指示:通过显示端的网络设备提供第二互联网络,显示端和投屏端通过第二互联网络建立数据链路。投屏端响应于投屏端的网络设备信息和显示端的网络设备信息指示投屏端的网络条件优于显示端的网络条件,选择第一连接方式;响应于投屏端的网络设备信息和显示端的网络设备信息指示显示端的网络条件优于投屏端的网络条件,选择第二连接方式。其中,网络设备信息可包括是否具有用于建立数据链路的网络设备的指示信息、网络设备的网速信息、网络设备的网络流量上限信息等。
以投屏端为移动终端,显示端为车辆为例,投屏端的网络设备为移动终端的热点,显示端的网络设备为车辆的wifi装置。在建立用于传输投屏数据的数据链路前,移动终端和车辆之间可通过各自的UWB模块建立UWB连接以进行数据传输。投屏端和显示端通过移动终端的热点或车辆的wifi装置建立wifi连接,以便更快速的传输投屏数据。若选择的连接方式为第一连接方式,移动终端在检测到投屏指令后,开启移动终端的热点。移动终端根据提高UWB连接向车辆发起第一连接请求,第一连接请求包括热点的相关信息(例如热点名称和热点密码)。车辆在接收到第一连接请求后,根据热点的相关信息,自动连接移动终端的热点,并与移动连接建立用于传输投屏数据的数据链路。
若选择的连接方式为第二连接方式,移动终端在检测到投屏指令后,向车辆发送用于请求车辆的wifi装置的相关信息的第二连接请求。车辆接收到第二连接请求后,将wifi装置的相关信息(wifi装置的名称和密码)反馈给移动终端。移动终端根据wifi装置的相关信息,自动连接wifi装置,并与车辆建立用于传输投屏数据的数据链路。
值得一提的是,投屏端可根据投屏端和显示端的网络设备信息,选择更贴合当前场景的连接方式,建立用于传输投屏数据的数据链路,使得投屏端和显示端的数据传输更有保障。
作为另一示例,用户可以为第一连接方式和第二连接方式设置优先级,投屏端根据第一连接方式的优先级、第二连接方式的优先级、投屏端的网络设备信息和显示端的网络设备信息,从第一连接方式和第二连接方式中选择一种连接方式。示例地,投屏端根据优先级更高的连接方式对应的设备(投屏端或显示端)的网络设备信息,确定优先级更高的连接方式对应的设备是否具有可提供用于传输投屏数据的数据链路的网络设备;若确定是,则选择优先级更高的连接方式,若确定不是,则选择优先级更低的连接方式。
例如,投屏端为移动终端,显示端为车辆。第二连接方式的优先级高于第一连接方式的优先级。移动终端根据车辆的网络设备信息,确定车辆是否具有wifi装置;若确定是,则通过UWB连接发送用于请求车辆的wifi装置的相关信息的第二连接请求,并根据wifi装置的相关信息,建立数据链路;若确定不是,则开启热点,并通过UWB连接发送包含移动终端的热点的名称和密码的第一连接请求至车辆,以便车辆与移动终端建立数据链路。
值得一提的是,用户可根据投屏端和显示端的网络配置情况,自行设置优先选择的连接方式,使得投屏过程更个性化。
实施例2
在本申请的一些实施方式中,投屏端在检测到投屏指令后,通过UWB连接向显示端发送请求网络设备的相关信息的第二连接请求,并通过UWB连接接收显示端对第二连接请求的反馈结果。投屏端响应于第二连接请求的反馈结果指示显示端具有可提供用于传输投屏数据的数据链路的网络设备,根据第二连接请求的反馈结果中的显示端的网络设备的名称和密码,连接显示端,形成用于传输投屏数据的数据链路。投屏端响应于第二连接请求的反馈结果指示显示端不具有可提供用于传输投屏数据的数据链路的网络设备,投屏端开启热点,并向显示端发送包括热点的名称和密码的第一连接请求,以便显示端通过热点的名称和密码与投屏端建立连接,形成用于传输投屏数据的数据链路。
值得一提的是,投屏端优先使用显示端的网络设备形成数据链路,可减少投屏端的流量费用。
实施例3
在本申请的一些实施方式中,投屏端和显示端的操作***为安卓***。用户用USB线连接投屏端和显示端。连接成功后,显示端基于AOA(Android Open Accessory,安卓开放附件)协议发送AOA消息给投屏端,AOA消息中至少包括投屏应用的标识信息和显示端的标识信息。投屏端接收到AOA消息后,对AOA消息进行解析,在根据显示端的标识信息确定出显示端具有连接权限后,发送第三连接请求至显示端,并根据AOA消息开启投屏端的投屏应用。显示端接收到第三连接请求后,与投屏端创建互联通道,以便显示端和投屏端进行数据交互。
应当理解的是,在未背离本申请教导的情况下,除wifi连接、UWB连接外,投屏端和显示端还可通过例如蓝牙连接、2G/3G/4G/5G等网络连接,进行各类数据的交互,本申请对投屏端和显示端的连接方式不作限制。
在本申请的一些实施方式中,投屏端和显示端建立互联通道后,显示端可发送提示消息至投屏端,以告知投屏端互联通道建立成功。投屏端接收到提示消息后,对提示消息进行解析,确定出该提示消息是发送给投屏应用的,则将提示消息转发至投屏应用。投屏应用在接收到提示消息后,进行初始化操作。投屏应用的初始化操作可例如包括:创建虚拟屏并初始化图像压缩算法。投屏应用完成初始化后,可通知显示端,以使显示端的被投屏应用进行初始化。被投屏应用的初始化操作包括:初始化图像解压缩算法;启动展示界面。完成上述操作后,投屏应用和被投屏应用之间可进行数据交互。
以上对投屏端和显示端的连接方式进行了示例性说明。以下对投屏端的投屏方法进行示例性说明。
图6是根据本申请的实施方式提供的投屏端的投屏方法200的流程示意图,参阅图6,投屏端的投屏方法200可包括如下步骤:
S21,通过投屏端的投屏应用获取第一用户操作信息。
S22,响应于第一用户操作信息指示对第三方应用进行投屏,调用操作***的第一软件接口以使操作***根据第一用户操作信息确定用户操作的第三方应用,并根据确定出的第三方应用的界面信息绘制操作***创建的第一虚拟屏。
S23,根据基于确定出的第三方应用的界面信息绘制的第一虚拟屏的屏幕界面确定第一投屏数据。
S24,通过投屏应用和显示端的被投屏应用之间的互联通道传输第一投屏数据至显示端,以通过显示端的至少一个显示屏显示第一投屏数据。
根据本申请的实施方式,投屏端可通过投屏应用控制操作***将第三方应用的操作界面绘制至第一虚拟屏,并通过投屏应用将第一虚拟屏的屏幕界面传输至显示端显示,实现了投屏端和显示端之间的投屏。与此同时,由操作***将第三方应用的操作界面绘制至第一虚拟屏,投屏应用负责投屏数据的传输,可减少投屏应用的功耗,进而减少由于投屏应用功耗过高使得操作***自动关闭投屏应用并导致投屏失败的情况。操作***将第三方应用的操作界面绘制至第一虚拟屏后进行投屏,可减少锁屏状态下投屏失败的情况。此外,投屏端将基于第三方应用的界面信息绘制的第一虚拟屏投屏至显示端,显示端可显示第三方应用对用户操作的响应结果,使得显示端可以在未安装第三方应用的情况下为用户提供第三方应用的服务,降低了对显示端的处理能力等要求,从而降低显示端的硬件成本。
下面对本申请的实施方式提供的投屏端的投屏方法200的各个步骤进行示例性说明。
步骤S21
在本申请的一些实施方式中,投屏端通过投屏应用从显示端获取第一用户操作信息。示例地,用户操作显示端的显示屏,显示端的显示屏根据用户触摸的屏幕区域和用户的操作动作,解析出用户具体的操作行为,将指示用户具体的操作行为的第一用户操作信息传输至投屏端。投屏端根据第一用户操作信息确定用户具体的操作行为对应的应用,并控制确定出的应用响应第一用户操作信息。
应该理解的是,在未背离本申请教导的情况下,显示端也可将指示用户触摸的屏幕区域和用户的操作动作的第一用户操作信息传输至投屏端,由投屏端解析用户具体的操作行为,本申请对此不作限制。
作为一个示例,投屏端在获取第一用户操作信息之前,投屏端通过投屏应用获取第二投屏数据,第二投屏数据根据至少反馈第三方应用的标识信息的第一主操作界面确定。投屏端通过投屏应用传输第二投屏数据至显示端,以通过显示端的至少一个显示屏显示第二投屏数据。显示端在显示第二投屏数据后,通过显示端的诸如显示屏等输入设备,检测用户第一操作信息,并将其传输至投屏端。投屏端通过投屏应用获取显示端在显示第二投屏数据后检测到的第一用户操作信息。换言之,投屏端将基于第一主操作界面确定的第二投屏数据传输至显示端,以使显示端显示第一主操作界面。显示端的显示屏显示第一主操作界面后,用户可根据自身需求操作显示端的显示屏,以打开投屏端的诸如第三方应用和应用模块在内的应用。显示端的显示屏根据用户触摸的屏幕区域和用户的操作动作,解析出用户具体的操作行为,将指示用户具体的操作行为的第一用户操作信息传输至投屏端。投屏端根据第一用户操作信息确定用户具体的操作行为对应的应用,并对确定出的应用的操作界面进行投屏。
为了便于理解,下面对投屏端的投屏应用获取第二投屏数据的方式进行示例性说明。
方式一
在本申请的一些实施方式中,投屏应用根据操作***基于第三方应用的标识信息绘制的第一虚拟屏的屏幕界面获取第二投屏数据。示例地,操作***可在投屏应用开启之后,创建第一虚拟屏,并基于第三方应用的标识信息确定第一主操作界面,基于第一主操作界面绘制第一虚拟屏。操作***通知投屏应用第一虚拟屏已绘制完成,投屏应用根据第一虚拟屏的屏幕界面确定第二投屏数据。
在本申请的一些实施方式中,投屏应用在确定用户触发第三方应用投屏功能(即第二软件接口)后,再获取第二投屏数据。示例地,投屏应用获取第二用户操作信息;响应于第二用户操作信息指示第二软件接口的标识信息被触发,调用第二软件接口以使操作***基于第三方应用的标识信息绘制第一虚拟屏。应用模块在用户触发第三方应用投屏功能后与投屏端的操作***交互,可减少用户无第三方应用投屏需求的情况下,投屏应用占用操作***运行线程造成计算资源浪费等情况。
作为一种选择,投屏应用从显示端的被投屏应用获取第二用户操作信息。示例地,投屏应用根据第二主操作界面绘制投屏应用创建的第二虚拟屏的屏幕界面,第二主操作界面至少反馈第二软件接口的标识信息;根据第二虚拟屏的屏幕界面确定并传输第三投屏数据至显示端,以通过显示端的至少一个显示屏显示第三投屏数据;接收显示端在显示第三投屏数据后检测到的第二用户操作信息。
可选择的,若投屏应用中设置有多个应用模块,第二主操作界面还反馈应用模块的标识信息。例如,应用模块的标识信息包括应用模块的图标和/或应用模块的名称,第二主操作界面中显示有应用模块的图标和/或应用模块的名称。
为了便于理解,以下以投屏端为移动终端,显示端为车辆为例进行示例性说明。
图7是根据本申请的一些实施方式的第二主操作界面131的界面示意图,图8是根据本申请的一些实施方式的第一主操作界面132-1的界面示意图。示例地,投屏应用开启后,获取如图7所示的第二主操作界面,图7所示的第二主操作界面131中显示了投屏应用中的应用模块的图标和第三方应用投屏服务的图标(即第二软件接口的图标)。投屏应用根据第二主操作界面131绘制第二虚拟屏的屏幕界面,即对投屏应用的第二主操作界面131进行显示编码。投屏应用根据第二虚拟屏的屏幕界面确定出第三投屏数据,并将第三投屏数据传输至显示端。显示端显示第二主操作界面131后,用户可知晓投屏应用中的应用模块包括导航模块、视频模块、听歌模块、电台模块等,并可根据需要选择应用模块为自己提供的服务。若投屏应用中的应用模块无法满足用户需求,用户可点击第二软件接口的图标,显示端将检测到的第二用户操作信息传输至投屏应用。投屏应用基于第二操作信息可确定出用户触发第二软件接口,调用第二软件接口。第二软件接口被调用后,操作***获取如图8所示的第一主操作界面132-1,并根据第一主操作界面132-1绘制第一虚拟屏。绘制完成后,通知投屏应用,投屏应用根据第一虚拟屏的屏幕界面确定第二投屏数据,并将第二投屏数据传输至显示端,以使显示端的显示屏显示第一主操作界面132-1。显示端的显示屏显示第一主操作界面132-1后,用户可知晓投屏端安装有聊天软件、游戏软件、教育软件和新闻软件等,可在显示端的显示屏上点击自己想要开启的第三方应用。
应当理解的是,在未背离本申请教导的情况下,投屏应用也可通过检测投屏端的显示屏等输入设备的输入数据,获取第一用户操作信息,本申请对用户操作信息的来源不作限制。
方式2
在本申请的一些实施方式中,投屏端的投屏应用调用预定义的第三软件接口以使操作***查询并反馈第三方应用的标识信息至投屏应用;根据第三方应用的标识信息确定第一主操作界面;根据第一主操作界面绘制投屏应用创建的第二虚拟屏;根据第二虚拟屏的屏幕界面确定第二投屏数据。投屏应用直接为用户提供投屏端安装的第三方应用的标识信息,无需用户进行额外操作,可减少操作复杂度。
图9是根据本申请的另一些实施方式的第一主操作界面132-2的界面示意图。可选择的,投屏应用中安装有多个应用模块。投屏应用根据第三方应用的标识信息和投屏应用的应用模块的标识信息,确定第一主操作界面132-2。投屏应用将基于第一主操作界面132-2确定的第二投屏数据传输至显示端,以使显示端显示第三方应用的标识信息和应用模块的标识信息,以便用户快速获知投屏端可提供的第三方应用的服务和应用模块的服务,并根据自身需求进行后续操作。
步骤S22
在本申请的一些实施方式中,投屏端的投屏应用在获取到第一用户操作信息后,根据第一用户操作信息确定用户是否需要开启第三方应用投屏功能。示例地,若第一用户操作信息指示用户点击图8或图9所示的第一操作界面中的任意一个第三方应用的图标,即第一用户操作信息指示对第三方应用进行投屏,投屏应用执行步骤S22。
在本申请的一些实施方式中,包括第一软件接口、第二软件接口和第三软件接口在内的软件接口可以是指投屏端的操作***中负责在应用模块和操作***之间传输或接收数据的、并根据该接口预定义的处理逻辑对数据进行处理的类或者函数。投屏应用调用第一软件接口的过程中,将第一用户操作信息传递给投屏端的操作***。预定义的第一软件接口的处理逻辑可以包括:在接收到应用模块传输的第一用户操作信息后,分析第一用户操作信息以确定用户操作的第三方应用,将第一用户操作信息传输至确定出的第三方应用,以使第三方应用根据第一用户操作信息计算用户触发的指令并据此更新自己的界面信息;在接收到第三方应用发送的指示界面信息更新完成的通知后,根据更新后的第三发应用的界面信息绘制第一虚拟屏;在第一虚拟屏更新完成后,发送指示第一虚拟屏更新完成的通知至投屏应用,以便投屏应用将更新后的第一虚拟屏投屏至显示端。由于第三方应用的操作界面绘制在第一虚拟屏上,而不是绘制在投屏端的显示屏上,无需显示屏亮屏,降低了投屏端的功耗。此外,投屏端锁屏状态下投屏端的操作***创建的虚拟屏还可以刷新,可减少锁屏状态下无法对第三方应用进行投屏的情况。
在本申请的一些实施方式中,投屏端的操作***可根据显示端的投屏数据显示策略创建第一虚拟屏。例如,若显示端的投屏数据显示策略为显示端的显示屏被划分为第一显示区域121-1和第二显示区域121-2(参见5所示),使用第一显示区域121-1显示第一投屏数据,投屏端的操作***可根据第一显示区域121-1的尺寸信息创建第一虚拟屏。若显示端的投屏数据显示策略为通过整个显示区域显示第一投屏数据,投屏端的操作***可根据显示端的显示屏的整个显示区域的尺寸信息创建第一虚拟屏。投屏端的操作***创建好第一虚拟屏后,第三方应用可根据第一虚拟屏的尺寸来适配自己的操作界面的尺寸,使得显示端基于第一投屏数据解析出来的界面与显示屏的显示区域大小适配,减少了显示屏四周存在大片黑屏区域的情况,提高了用户体验。
步骤S23和步骤S24
在本申请的一些实施方式中,投屏端的投屏应用在接收到第一软件接口反馈的指示第一虚拟屏更新完成的通知后,根据第一虚拟屏的屏幕界面确定第一投屏数据,并将第一投屏数据传输至显示端。
在本申请的一些实施方式中,投屏端的投屏应用在确定出第一投屏数据后,确定第一投屏数据对应的显示端的显示屏;停止与确定出的显示屏对应的、除第一投屏数据以外的其他投屏数据的数据传输。
为了便于理解,下面以第一投屏数据对应的显示端的显示屏为中控显示屏为例进行示例性说明。
例如,投屏应用正在根据导航模块的界面信息绘制第二虚拟屏,以使第二虚拟屏显示导航模块的操作界面。投屏应用根据绘制有导航模块的操作界面第二虚拟屏的屏幕界面确定第四投屏数据,并将第四投屏数据传输至显示端,以使显示端的中控显示屏显示导航模块的操作界面,中控显示屏的显示界面可如图5所示。用户通过点击第二显示区域121-2中的聊天软件,触发第三方应用投屏服务。显示端将指示对聊天软件进行投屏的第一用户操作信息传输至投屏端。投屏端基于第一用户操作信息确定出待投屏的应用为第三方应用,将第一用户操作信息传输至投屏端的操作***。投屏端的操作***基于第一用户操作信息确定出用户具体的操作行为指示打开聊天软件。投屏端获取聊天软件的界面信息,并根据聊天软件的截面信息绘制第一虚拟屏的屏幕界面。绘制完成后,投屏端的操作***发送指示第一虚拟屏更新完成的通知至投屏应用。由于第一投屏数据对应中控显示屏,中控显示屏正在显示第四投屏数据,投屏应用根据第一虚拟屏确定第一投屏数据后,停止第四投屏数据的传输,并传输第一投屏数据至显示端。通过上述内容可知,显示端的显示屏在同一时刻显示一个应用的投屏数据,可减少显示多个投屏数据导致第三方应用的操作界面的显示比例失调等问题。
上面对投屏端提供第三方应用投屏服务的过程进行了示例性说明,下面对投屏应用提供应用模块的投屏服务的过程进行示例性说明。
在本申请的一些实施方式中,在执行步骤S21后,响应于用户操作信息指示对应用模块进行投屏,投屏应用根据应用模块的界面信息,绘制投屏应用创建的虚拟屏的屏幕界面;根据虚拟屏的屏幕界面确定投屏数据,并传输投屏数据至显示端,以通过显示端的至少一个显示屏显示投屏数据。将要投屏的应用以应用模块的形式设置于投屏应用中,使得投屏应用具有获取应用模块的相关数据的权限,无需向要投屏的应用请求权限,减少了由于不具备权限要投屏应用的数据获取权限而投屏失败的概率。此外,投屏端将基于应用模块的界面信息绘制的虚拟屏投屏至显示端,显示端可显示这些应用模块对用户操作的响应结果,使得显示端可以在未安装应用模块的情况下为用户通过应用模块的服务,降低了对显示端的处理能力等要求,从而降低显示端的硬件成本。
在本申请的一些实施方式中,投屏端的投屏应用在创建虚拟屏的方式可包括:获取显示端的显示屏的尺寸信息;根据显示端的显示屏的尺寸信息,通过调用投屏端的虚拟屏创建接口,创建虚拟屏。创建的虚拟屏的尺寸与该显示端的显示屏的尺寸适配,即虚拟屏的尺寸等于或略小于该显示端的显示屏的尺寸。在创建完虚拟屏后,投屏应用绘制虚拟屏的方式可以是:根据应用模块的界面信息,对应用模块进行显示编码。
在本申请的一些实施方式中,投屏端绘制虚拟屏的屏幕界面的方式包括:投屏端确定应用模块对应的虚拟屏;根据应用模块的界面信息,绘制应用模块对应的虚拟屏的屏幕界面。由于投屏端可能创建有多个虚拟屏,在绘制应用模块的操作界面之前,需要先确定应用模块对应的虚拟屏。
在本申请的一些实施方式中,确定应用模块对应的虚拟屏的方式包括但不限于方式一和方式二。
方式一
在本申请的一些实施方式中,投屏端可将预先指定的虚拟屏作为应用模块对应的虚拟屏。由于虚拟屏和显示端的显示屏的对应关系固定,应用模块的操作界面将在显示端的预先指定的显示屏显示。通过显示端的预先指定的显示屏显示应用模块的操作界面,便于用户从显示端的同一显示屏上获取各应用模块的信息,并根据需要将其切换至其他显示屏。
方式二
在本申请的一实施方式中,投屏端确定应用模块对应的虚拟屏的方式可包括:确定应用模块候选的虚拟屏;响应于候选的虚拟屏已绘制有除应用模块以外的其他应用模块的界面信息,且其他应用模块和应用模块满足第一约束关系,创建新的虚拟屏作为应用模块对应的虚拟屏。
为便于理解,下面对确定候选的虚拟屏的方式进行示例性说明。
在本申请的一些实施方式中,确定候选的虚拟屏的方式包括但不限于方式1、方式2和方式3。
方式1
在本申请的一些实施方式中,投屏端根据应用模块的应用类型、应用类型和显示端的显示屏的对应关系,以及显示端的显示屏和虚拟屏的对应关系,确定应用模块的候选的虚拟屏。例如,投屏端确定需要显示的应用模块后,先根据应用模块和应用类型的对应关系确定应用模块的应用类型,再根据应用类型和显示端的显示屏的对应关系确定应用模块所属的应用类型对应的显示屏,然后根据显示端的显示屏和虚拟屏的对应关系,判断是否已针对确定出的显示屏创建有虚拟屏。若确定是,则将确定出的显示屏对应的虚拟屏作为候选的虚拟屏,若确定不是,则创建新的虚拟屏,并将新的虚拟屏作为候选的虚拟屏,更新显示端的显示屏和虚拟屏的对应关系。
值得一提的是,根据应用模块的应用类型确定用于显示其操作界面的显示屏,可结合各应用类型的特点将其操作界面显示在更适于显示该应用模块的显示端的显示屏上,提高了用户的观看体验。
作为一个示例,应用模块和应用类型的对应关系、应用类型和显示端的显示屏的对应关系、以及显示端的显示屏和虚拟屏的对应关系可以以表格形式存储于投屏端。
应当理解的是,在未背离本申请教导的情况下,上述对应关系也可以以其他形式存储于投屏端,本申请对对应关系的存储形式不作限制。
应当理解的是,同一应用类型可对应于多个显示端的显示屏,同一显示端的显示屏可对应于多个虚拟屏,本申请对此不作限制。
应当理解的是,确定出的虚拟屏为多个时,可将确定出的多个虚拟屏均作为候选的虚拟屏。
方式2
在本申请的一些实施方式中,投屏端根据应用模块的标识信息、应用模块和显示端的显示屏的对应关系、以及显示端的显示屏和虚拟屏的对应关系,确定应用模块的候选的虚拟屏。例如,投屏端确定需要显示的应用模块后,根据应用模块和显示端的显示屏的对应关系,确定应用模块对应的显示端的显示屏。投屏端根据显示端的显示屏和虚拟屏的对应关系,判断是否存在确定出的显示屏对应的虚拟屏,若存在,则将确定出的显示屏对应的虚拟屏作为候选的虚拟屏,若不存在,则创建新的虚拟屏,将新的虚拟屏作为候选的虚拟屏,并更新显示端的显示屏和虚拟屏的对应关系。
值得一提的是,结合各应用模块的特点将其操作界面显示在更适于显示该应用模块的显示端的显示屏上,提高了用户的观看体验。
方式3
投屏端将预先指定的虚拟屏作为确定应用模块的候选的虚拟屏。例如,投屏端可将中控显示屏对应的虚拟屏作为候选的虚拟屏,使得各个应用模块在开启后均先在中控显示屏上显示,便于驾驶员获取各应用模块的信息,并根据需要将其切换至其他显示屏。
应当理解的是,在未背离本申请教导的情况下,也可通过其他方式确定应用模块的候选的显示屏,本申请对此不作限制。
上面对确定应用模块的候选的虚拟屏的方式进行了示例说明,下面对基于应用模块的候选的虚拟屏确定应用模块的虚拟屏的方式进行示例性说明。
在本申请的一些实施方式中,响应于候选的虚拟屏已绘制有除应用模块以外的其他应用模块的界面信息,且其他应用模块和应用模块满足第一约束关系,创建新的虚拟屏作为应用模块对应的虚拟屏,新的虚拟屏对应的显示端的显示屏和候选的虚拟屏对应的显示端的显示屏相同。示例地,投屏端在确定应用模块的候选的虚拟屏后,判断候选的虚拟屏是否存在闲置的虚拟屏,即是否存在至少一个未绘制任何应用模块的界面信息的候选的虚拟屏。投屏端若确定存在闲置的虚拟屏,可任意选择一个闲置的虚拟屏作为应用模块的虚拟屏。投屏端若确定不存在闲置的虚拟屏,即所有的候选的虚拟屏均已绘制有其他应用模块的界面信息,基于候选的虚拟屏得到候选集合,并针对候选集合中的各虚拟屏,判断该虚拟屏对应的应用模块和应用模块是否满足第一约束关系;若确定满足,则将该虚拟屏从候选集合剔除,显示端的显示屏将继续展示该虚拟屏的屏幕界面;若确定不满足,则保留该虚拟屏。在针对候选集合中所有的虚拟屏进行完上述操作后,投屏端判断候选集合中是否存在剩余的虚拟屏,若确定是,可从候选集合中剩余的虚拟屏中任意选择一个虚拟屏作为应用模块对应的虚拟屏,也可根据剩余的虚拟屏对应的应用模块的优先级,选择优先级最低的应用模块对应的虚拟屏作为应用模块的虚拟屏,选择出的虚拟屏的屏幕界面将不再被展示在显示端的显示屏上。投屏端若确定候选集合为空集,则创建新的虚拟屏作为应用模块对应的虚拟屏。通过上述方式,可在一个显示端的显示屏同时展示多个虚拟屏的基础上,控制同时展示的虚拟屏的数量,避免同时展示的虚拟屏数量过多影响用户观看。需要说明的是,第一约束关系可根据需要设置。下面对第一约束关系进行示例性说明。
作为一个示例,第一约束关系包括:其他应用模块和应用模块的应用类型相同。换言之,在应用模块和候选的虚拟屏对应的其他应用模块的应用类型相同时,为应用模块创建新的虚拟屏。例如,用户在显示端的显示屏显示聊天类的应用模块1的操作界面的情况下,开启了聊天类的应用模块3,则为应用模块3创建新的虚拟屏,并将两个虚拟屏的内容在显示端的同一显示屏进行分屏显示。
应当理解的是,在未背离本申请教导的情况下,在其他应用模块和应用模块的应用类型不相同的情况下,投屏端可以直接判定两者不满足第一约束关系,也可设置其他进一步判断的条件,本申请对此不作限制。
作为另一示例,第一约束关系包括:其他应用模块或应用模块属于预先指定的应用类型。其中,预先指定的应用类型可包括导航类型和/或通话类型。换言之,若其他应用模块和应用模块中的一个属于导航模块或通话类型,投屏端判定其他应用模块和应用模块满足第一约束关系。
作为又一示例,第一约束关系包括多个约束条件,当满足任意一个约束条件时,投屏端判定其他应用模块和应用模块满足第一约束关系。例如,第一约束关系包括约束条件1和约束条件2,约束条件1为其他应用模块和应用模块的应用类型相同,约束条件2为其他应用模块或应用模块属于预先指定的应用类型。若其他应用模块和应用模块的应用类型符合以下情况,投屏端判定其他应用模块和应用模块满足第一约束关系:
情况1:在其他应用模块和应用模块的应用类型相同;
情况2:其他应用模块和应用模块的应用类型不同但其他应用模块和应用模块中的一个属于预先指定的应用类型。
应当理解的是,在未背离本申请教导的情况下,可根据需要设置第一约束关系,本申请对此不作限制。
应当理解的是,在未背离本申请教导的情况下,上述也可通过其他方式确定应用模块对应的虚拟屏。例如,投屏端为用户提供上文的方式1、方式2和方式3三种方式,用户可根据需要自行选择确定应用模块对应的虚拟屏的方式。本申请对确定应用模块对应的虚拟屏的方式不作限制。
在本申请的一些实施方式中,投屏端根据显示屏可呈现的虚拟屏的屏幕界面的数量,确定投屏数据。示例地,若显示端的显示屏可呈现一个虚拟屏的屏幕界面,投屏端可将虚拟屏的整个屏幕界面作为投屏数据。若显示端的显示屏可呈现多个虚拟屏的屏幕界面,投屏端确定投屏数据的方式包括:确定虚拟屏对应的显示端的显示屏,并获取确定出的显示端的显示屏对应的虚拟屏的屏幕数量;若屏幕数量等于1,投屏端可以将虚拟屏的整个屏幕界面作为屏幕数据。若屏幕数量大于1,投屏端根据获取的屏幕数量和预定义的裁切规则,确定从虚拟屏的屏幕界面提取的待投屏界面的尺寸信息,并根据确定出的尺寸信息从虚拟屏的屏幕界面提取待投屏界面,再根据待投屏界面确定投屏数据。其中,预定义的裁切规则可指示:屏幕数量和各虚拟屏的待投屏界面的尺寸的对应关系。
应当理解的是,在未背离本申请教导的情况下,裁切规则可根据需要设置。作为一个示例,在多个虚拟屏分屏显示的情况下,裁切规则可以指示:虚拟屏的待投屏界面的纵向尺寸等于或略小于显示端的显示屏的纵向尺寸,虚拟屏的待投屏界面的横向尺寸等于或略小于显示端的显示屏的横向尺寸除以屏幕数量的商,以使多个虚拟屏在显示端的显示屏上横向分屏显示。裁切规则也可以指示:虚拟屏的待投屏界面的横向尺寸等于或略小于显示端的显示屏的横向尺寸,虚拟屏的待投屏界面的纵向尺寸等于或略小于显示端的显示屏的纵向尺寸除以屏幕数量的商,以使多个虚拟屏在显示端的显示屏上纵向分屏显示。裁切规则还可以指示:若屏幕数量能被N整除,根据显示端的显示屏的纵向尺寸和屏幕数量和N的商,确定虚拟屏的待投屏界面的纵向尺寸,根据显示端的显示屏的横向尺寸和N,确定虚拟屏的待投屏界面的横向尺寸;若屏幕数量不能被N整除,计算[屏幕数量/N]+1的值,根据显示端的显示屏的纵向尺寸和计算出的值,确定虚拟屏的待投屏界面的纵向尺寸,根据显示端的显示屏的横向尺寸和N,确定虚拟屏的待投屏界面的横向尺寸,以使多个虚拟屏在显示端的显示屏上分屏显示。其中,N可为大于等于2的整数。作为另一示例,在多个虚拟屏中的一个虚拟屏全屏显示,其他虚拟屏通过画中画显示的情况下,裁切规则可以指示:根据设定的画中画的显示窗口的尺寸信息,确定虚拟屏的待投屏界面的尺寸信息。本申请对裁切规则不作限制。
为便于理解,以投屏端创建有虚拟屏1、虚拟屏2和虚拟屏3,虚拟屏1和虚拟屏2对应于显示端的中控显示屏,虚拟屏3对应于显示端的副驾驶显示屏,裁切规则指示横向分屏显示为例,对确定投屏数据的过程进行示例性说明。对于虚拟屏1和虚拟屏2,投屏端在确定显示端的中控显示屏对应的屏幕数量大于1后,根据裁切规则,确定虚拟屏1和虚拟屏2提取的待投屏界面的尺寸信息为:横向尺寸等于中控显示屏的横向尺寸/2,虚拟屏1和虚拟屏2提取的待投屏界面的纵向尺寸等于中控显示屏的纵向尺寸;投屏端分别从虚拟屏1和虚拟屏2提取出符合确定出的尺寸信息的待投屏界面,其中,提取的区域的中心可为根据虚拟屏1和虚拟屏2对应的应用模块的感兴趣区域判定规则确定的感兴趣区域的中心。对于虚拟屏3,投屏端在确定显示端的副驾驶显示屏对应的屏幕数量等于1后,提取虚拟屏3的整个屏幕界面作为待投屏界面。投屏端将从虚拟屏1、虚拟屏2和虚拟屏3中提取的待投屏界面作为投屏数据中的屏幕数据。
应当理解的是,在未背离本申请教导的情况下,不同的应用模块的感兴趣区域判定规则可根据各应用模块的功能设置,例如,对于若应用模块的功能为导航功能(即导航模块),其感兴趣区域判定规则可指示:地图中的感兴趣区域为以用户当前位置为中心,以预定距离值为半径的圆形区域;若应用模块的功能为视频播放功能(即视频模块),其感兴趣区域判定规则可指示:感兴趣区域为以视频播放界面的几何中心或任意一个人脸所在区域的中心为中心,预定尺寸为边长的矩形区域。本申请对感兴趣区域判定规则不作限制。
值得一提的是,在支持一个显示屏对应多个虚拟屏的情况下,通过裁切的方式获取待投屏界面,而非调整应用模块的显示界面的显示比例获取待投屏界面,使得获取的待投屏界面更清晰,相对于一个显示屏对应一个虚拟屏的情况下的画面比例变化更小,对用户的视觉影响更小,提高了用户的观影体验。
应当理解的是,在未被背离本申请教导的情况下,还可通过其他方式确定投屏数据,本申请对此不作限制。
在本申请的一实施方式中,投屏端可根据显示端的显示屏的数量,调整确定投屏数据的方式和数据传输的方式。
作为一个示例,若显示端具有的显示屏的数量为1,投屏端根据虚拟屏的屏幕界面确定投屏数据的方式可包括:根据虚拟屏的屏幕界面确定屏幕数据,将屏幕数据作为投屏数据。若显示端具有的显示屏的数量为2,投屏端根据虚拟屏的屏幕界面确定投屏数据的方式可包括:投屏端根据虚拟屏的屏幕界面确定屏幕数据,将屏幕数据、以及虚拟屏和显示端的显示屏的对应关系作为投屏数据,以便显示端确定用于显示各个虚拟屏的屏幕界面的显示屏,实现了多路投屏。
作为另一示例,显示端和投屏端可建立多条用于传输投屏数据的数据链路(即互联通道)。投屏端根据虚拟屏的屏幕界面确定投屏数据,并根据虚拟屏和显示端的显示屏的对应关系、以及显示端的显示屏和数据链路的对应关系,确定各个虚拟屏对应的数据链路。投屏端将基于各个虚拟屏确定的投屏数据通过该虚拟屏对应的数据链路传输至显示端。显示端将各个数据链路接收的投屏数据,通过各个数据链路对应的显示屏显示,实现了多路投屏。
在本申请的一些实施方式中,投屏端可在确定要投屏后,获取并传输投屏数据至显示端,也可以为投屏数据的传输设置先决条件,在满足先决条件的情况下,再获取并传输投屏数据至显示端。
以投屏端为移动终端,显示端为车辆,先决条件包括:移动终端进入车辆为例。移动终端在进入车辆后,再获取并传输投屏数据至车辆,以减少移动终端在用户无法观看投屏数据的情况下传输投屏数据造成的网络资源浪费等问题。应当理解的是,在未背离本申请教导的情况下,还可设置其他先决条件,本申请对此不作限制。
上面对用户操作信息指示对应用投屏的情况下,投屏端的响应方式进行了示例说明,下面对用户操作信息指示进行屏幕切换的情况下,投屏端的响应过程进行示例性说明。
在本申请的一些实施方式中,投屏端响应于用户操作信息进行屏幕切换,改变用户操作信息指示的需要切换的屏幕界面和显示端的显示屏的对应关系,以更新投屏数据。投屏端基于用户操作信息改变屏幕界面和显示端的显示屏的对应关系,从而实现显示端多屏情况下的换屏操作,使得用户可根据需要选择用于展示各应用模块的操作界面或第三方应用的操作界面的屏幕,提高了用户体验。
在本申请的一些实施方式中,需要切换的屏幕界面包括投屏端的显示屏的屏幕界面和虚拟屏的屏幕界面。投屏端响应于用户操作信息指示进行屏幕切换,改变投屏端的显示屏的屏幕界面和虚拟屏的屏幕界面与显示端的显示屏的对应关系(简称为第一对应关系)。其中,改变第一对应关系的方式可以是:投屏端根据改变后的第一对应关系,在虚拟屏对应的投屏数据中携带的显示端的显示屏的标识信息,以及在投屏端的显示屏对应的投屏数据携带的显示端的显示屏的标识信息。
在本申请的一些实施方式中,需要切换的屏幕界面均为虚拟屏的屏幕界面,投屏端响应于用户操作信息指示进行屏幕切换,改变用户操作信息指示的需要切换的屏幕界面和显示端的显示屏的对应关系。其中,改变虚拟屏的屏幕界面和显示端的显示屏的对应关系的方式包括但不限于方式一和方式二。
方式一
在本申请的一些实施方式中,投屏应用中的应用模块可包括虚拟屏管理模块。虚拟屏管理模块用于创建虚拟屏、管理当前运行的其他应用模块和虚拟屏的对应关系(以下称为第二对应关系)、管理虚拟屏和显示端的显示屏的对应关系(以下称为第三对应关系)、将各应用模块的操作界面绘制至对应的虚拟屏等。通过虚拟屏管理模块改变需要切换屏幕的应用模块和显示端的显示屏的对应关系。
作为一个示例,虚拟屏管理模块改变需要切换的屏幕界面和显示端的显示屏的对应关系的过程可包括:根据该用户操作信息,调整第二对应关系,以改变需要切换的屏幕界面和显示端的显示屏的对应关系。由于第二对应关系被调整,各个虚拟屏的屏幕界面将发生变化,屏幕界面和显示端的显示屏的对应关系也将被调整。
作为另一示例,虚拟屏管理模块改变需要切换的屏幕界面和显示端的显示屏的对应关系的过程可包括:根据该用户操作信息,调整第三对应关系,以改变需要切换的屏幕界面和显示端的显示屏的对应关系。由于第三对应关系被调整,基于虚拟屏确定的投屏数据中携带的显示端的显示屏的标识信息被调整,屏幕界面和显示端的显示屏的对应关系也将被调整。
为便于理解,以第二对应关系指示:应用模块1对应于虚拟屏3,应用模块2对应于虚拟屏4,第三对应关系指示:虚拟屏1对应于中控显示屏,虚拟屏2对应副驾驶显示屏,虚拟屏3对应于主驾驶后枕屏,虚拟屏4对应副驾驶后枕屏为例进行示例性说明。为切换前,显示端的主驾驶后枕屏显示应用模块1的操作界面,显示端的副驾驶后枕屏显示应用模块2的操作界面。用户在显示端进行诸如点击切屏按钮、双指在主驾驶后枕屏上向右滑动等切屏操作。显示端检测到用户操作信息后,将用户操作信息传输至投屏端,投屏端将其传输至投屏应用,投屏应用确定出该用户操作信息指示将主驾驶后枕屏和副驾驶后枕屏切换后,将其传输至虚拟屏管理模块。虚拟屏管理模块调整第一对应关系,调整后的第一对应关系中,应用模块1对应于虚拟屏4,应用模块2对应于虚拟屏3。或者,虚拟屏管理模块调整第二对应关系,调整后的第二对应关系中,虚拟屏3对应于副驾驶后枕屏,虚拟屏4对应于主驾驶后枕屏。通过上述操作,即可实现主驾驶后枕屏和副驾驶后枕屏的屏幕切换。同理,其他屏幕之间的切换也可参考本申请的相关描述。
方式二
在本申请的一些实施方式中,投屏端通过各个应用模块绘制虚拟屏,通过需要切换的屏幕界面对应的应用模块来调整需要切换的屏幕界面和显示端的显示屏的对应关系。示例地,需要切换的屏幕界面为第一虚拟屏的屏幕界面,第一虚拟屏对应于第一应用模块,第一应用模块确定出切换后的显示屏对应的虚拟屏的标识信息;将用于绘制该应用模块的操作界面的虚拟屏的标识信息更新为确定出的虚拟屏的标识信息。
例如,虚拟屏3对应于主驾驶后枕屏,虚拟屏4对应副驾驶后枕屏,应用模块1对应于虚拟屏3,应用模块2对应于虚拟屏4。切换前,显示端的主驾驶后枕屏显示应用模块1的操作界面,显示端的副驾驶后枕屏显示应用模块2的操作界面。投屏应用根据用户操作信息计算出用户操作信息指示将虚拟屏3的屏幕界面和虚拟屏4的屏幕界面进行切换后,可将虚拟屏4的标识信息传输至应用模块1,虚拟屏3的标识信息传输至应用模块2。应用模块1将自己的操作界面绘制至虚拟屏4,应用模块2将自己的操作界面绘制至虚拟屏3。通过上述操作,即可实现主驾驶后枕屏和副驾驶后枕屏的屏幕切换。同理,其他屏幕之间的切换也可参考本申请的相关描述。
应当理解的是,在未背离本申请教导的情况下,还可通过其他方式实现屏幕切换,本申请对此不作限制。
在完成对投屏端的投屏方法的示例性说明后,下面对显示端的投屏方法进行示例性说明。
图10是根据本申请的实施方式提供的显示端的投屏方法300的流程示意图,参阅图10,在用户触发第三方应用投屏服务的情况下,显示端的投屏方法300可包括如下步骤:
S31,通过显示端的被投屏应用和投屏端的投屏应用之间的互联通道接收投屏端传输的第一投屏数据。第一投屏数据根据投屏端的操作***基于第三方应用的界面信息绘制的第一虚拟屏的屏幕界面确定。
S32,通过显示端的至少一个显示屏显示第一投屏数据。
根据本申请的实施方式,投屏端可通过投屏应用控制操作***将第三方应用的操作界面绘制至第一虚拟屏,并通过投屏应用将第一虚拟屏的屏幕界面传输至显示端显示,实现了投屏端和显示端之间的投屏。与此同时,由操作***将第三方应用的操作界面绘制至第一虚拟屏,投屏应用负责投屏数据的传输,可减少投屏应用的功耗,进而减少由于投屏应用功耗过高使得操作***自动关闭投屏应用并导致投屏失败的情况。操作***将第三方应用的操作界面绘制至第一虚拟屏后进行投屏,可减少锁屏状态下投屏失败的情况。此外,投屏端将基于第三方应用的界面信息绘制的第一虚拟屏投屏至显示端,显示端可显示第三方应用对用户操作的响应结果,使得显示端可以在未安装第三方应用的情况下为用户提供第三方应用的服务,降低了对显示端的处理能力等要求,从而降低显示端的硬件成本。为了便于理解,下面对用户触发第三方应用投屏服务的情况下,显示端的投屏方法300的各个步骤进行示例性说明。
步骤S31
在本申请的一些实施方式中,在投屏端和显示端开启投屏前,可由显示端发起投屏请求。示例地,显示端在检测到投屏端靠近显示端后,发送投屏请求至投屏端。投屏端接收到投屏请求后,可触发投屏指令,也可根据自身状态信息是否符合投屏请求,确定是否触发投屏指令。投屏端在触发投屏指令后,可与显示端就各类投屏数据进行传输。其中,投屏端确定是否触发投屏指令的过程可参考投屏端的投屏方法200的相关描述,此处不再赘述。
在本申请的一些实施方式中,投屏端触发投屏指令后,与显示端建立互联通道,通过互联通道传输诸如第一投屏数据、第二投屏数据等投屏数据至显示端。
作为一个示例,投屏端包括第一投屏端和第二投屏端。显示端响应于接收到第一投屏端的互联请求,且,显示端与第二投屏端已创建互联通道,根据预设的多端互联规则,确定是否允许第一投屏端和显示端建立用于传输第一投屏端的投屏数据的互联通道。换言之,显示端在和第二投屏端建立互联通道后,若接收到第一投屏端的互联请求,根据显示端的多端互联规则,判断是否允许第一投屏端接入。若判断结果指示允许第一投屏端接入,可以直接和第一投屏端建立互联通道,也可以在确定第一投屏端的权限信息合格后与第一投屏端建立互联通道。若判断结果指示不允许第一投屏端接入,不和第一投屏端建立互联通道。在符合多端互联规则的情况下,显示端允许多个投屏端接入,提高了显示端的利用率。
应当理解的是,在未背离本申请教导的情况下,互联请求可为上文提及的连接请求(第一连接请求或第二连接请求)。例如,显示端在接收到连接请求后,根据多端互联规则判断是否允许显示端和投屏端建立互联通道,若判断结果为允许,通过第一互联网络或第二互联网络建立互联通道。互联请求也可为区别于上文提及的连接请求的请求,显示端在接收到该互联请求后,再根据多端互联规则判断是否和投屏端建立互联通道。本申请对此不作限制。
为便于理解,下面对多端互联规则进行示例性说明。
作为一个示例,多端互联规则指示:响应于第一投屏端的优先级高于第二投屏端的优先级,允许第一投屏端接入。换言之,显示端基于各个投屏端的优先级,确定是否允许新的投屏端接入。
应当理解的是,在未背离本申请教导的情况下,若第一投屏端的优先级低于或等于第二投屏端的优先级,显示端可以发送认证信息至第二投屏端,并根据第二投屏端的反馈数据确定是否允许第一投屏端接入,显示端也可以直接拒绝第一投屏端接入。本申请对此不作限制。
值得一提的是,在为各个投屏端设置优先级后,显示端可在和一个投屏端创建互联通道后,基于投屏端的优先级判断是否允许新的投屏端接入,使得投屏过程更智能化。
作为另一示例,多端互联规则指示:发送认证信息至第二投屏端,根据第二投屏端基于认证信息的反馈数据确定是否允许第一投屏端接入。换言之,显示端遵循先接入的投屏端具有显示端的使用决定权的原则,在接收到新的投屏端的互联请求后,向已接入的投屏端咨询是否允许新的投屏端接入。
应当理解的是,在未背离本申请教导的情况下,显示端确定允许第一投屏端接入后,可选择断开与第二投屏端的连接,也可继续保持与第二投屏端的连接,此处不作限制。
在本申请的一些实施方式中,显示端和投屏端建立互联通道后,通过显示端的被投屏应用接收投屏数据。示例地,投屏端的投屏应用和显示端的被投屏应用之间可相互传输数据。应当理解的是,投屏端的投屏应用和显示端的被投屏应用之间可直接进行数据传输,也可通过其他设备进行数据传输,例如,投屏端的投屏应用将投屏数据传输至投屏服务的云端设备,云端设备再将投屏数据传输至显示端的被投屏应用。本申请对此不作限制。
在本申请的一些实施方式中,显示端在显示第一主操作界面后,检测到第一用户操作信息,并将第一用户操作信息传输至投屏端,投屏端响应于第一用户操作信息指示对第三方应用进行投屏,通过投屏应用调用操作***的第一软件接口以使操作***根据第一用户操作信息确定用户操作的第三方应用,并根据确定出的第三方应用的界面信息绘制操作***创建的第一虚拟屏;根据基于确定出的第三方应用的界面信息绘制的第一虚拟屏的屏幕界面确定第一投屏数据;通过投屏应用和显示端的被投屏应用之间的互联通道传输第一投屏数据至显示端,以通过显示端的至少一个显示屏显示第一投屏数据。显示端的被投屏应用接收投屏端的投屏应用传输的第一投屏数据,并通过执行步骤S32显示第一投屏数据。其中,投屏端确定并传输第一投屏数据的方式可参考上文的相关描述,此处不再赘述。
步骤S32
在本申请的一些实施方式中,投屏端接入显示端后,显示端为该投屏端选择用于显示投屏数据的显示屏,并通过选择出的显示屏显示投屏端的投屏数据。下面对显示端选择投屏端对应的显示屏的方式进行示例性说明。
方式一
在本申请的一些实施方式中,显示端允许一个投屏端接入。显示端选择用于展示该投屏端的投屏数据的显示屏的方式可以包括:显示端将指定的显示屏作为投屏端对应的显示屏,或者,显示端将距离投屏端最近的显示屏,作为投屏端对应的显示屏;通过投屏端对应的显示屏显示该投屏端的投屏数据。
应当理解的是,在未背离本申请教导的情况下,显示端可以设置一个指定的显示屏,所有的投屏端均对应该指定的显示屏,显示端也可以针对不同的投屏端分别设置指定的显示屏,在投屏端接入后,基于投屏端的标识信息确定其对应的指定的显示屏。本申请对此不作限制。
方式二
在本申请的一些实施方式中,显示端允许多个投屏端接入。显示端选择用于展示该投屏端的投屏数据的显示屏的方式可以包括:显示端确定投屏端对应的候选的显示屏,并根据候选的显示屏的占用情况,从候选的显示屏中选择出用于显示投屏数据的显示屏。
作为一个示例,投屏端对应的候选的显示屏可以是指定的显示屏,也可以是根据投屏端的位置信息确定出的显示屏,例如,可根据就近原则,将距离各个投屏端最近的显示端的显示屏作为投屏端对应的候选的显示屏。
例如,投屏端为移动终端,显示端为车辆,投屏端的位置信息为移动终端的落座位置。其中,移动终端的落座位置可以通过移动终端的UWB模块和车辆的UWB模块,并利用UWB定位技术,确定移动终端的落座位置。移动终端的落座位置也可以通过车内摄像头对车内图像进行人脸识别,根据用户和移动终端的对应关系,确定各个用户对应的移动终端的落座位置。移动终端的落座位置还可以通过车外摄像头探测用户进入车辆的过程中,用户开启的车门和用户进入的顺序,根据用户开启的车门、用户进入的顺序、以及用户和移动终端的对应关系,判定用户对应的移动终端的落座位置。
应该理解的是,在未背离本申请教导的情况下,显示端还可以基于其他规则确定投屏端的候选的显示屏,本申请对确定候选的显示屏的方式不作限制。
在完成对确定候选的显示屏的方式的示例性说明后,下面对显示端根据候选的显示屏的占用情况,从候选的显示屏中选择出用于显示投屏数据的显示屏的方式进行示例性说明。
在本申请的一些实施方式中,显示端从候选的显示屏选择出投屏端对应的显示屏的方式可以包括:显示端响应于存在未被占用的候选的显示屏,显示端从未被占用的候选的显示屏中选择出投屏端对应的显示屏。
示例地,若未被占用的候选的显示屏的个数为1,显示端将该未被占用的显示屏作为投屏端对应的显示屏,若未被占用的候选的显示屏的个数大于1,显示端可以随机选择一个未被占用的候选的显示屏作为投屏端对应的显示屏,或者,显示端选择未被占用的候选的显示屏中的、优先级最高的候选的显示屏。其中,各个候选的显示屏的优先级可根据其与投屏端的距离确定,也可以由用户自行设定,本申请对此不作限制。
在本申请的一些实施方式中,显示端从候选的显示屏选择出投屏端对应的显示屏的方式可以包括:显示端响应于候选的显示屏均被占用,反馈占用请求,占用请求指示请求占用候选的显示屏;响应于检测到占用许可指令,将候选的显示屏作为选择出的显示屏。换言之,若投屏端的候选的显示屏被占用,在获得占用许可后,允许投屏端使用该候选的显示屏。
作为一个示例,显示端反馈占用请求的方式可以是:显示端通过该候选的显示屏展示占用请求的相关信息,例如,投屏端的登录用户信息、投屏数据的摘要信息等,根据候选的显示屏检测到的用户操作信息,确定用户是否触发占用许可指令。显示端反馈占用请求的方式还可以是:显示端将占用请求发送至该候选的显示屏的占用端。占用端展示占用请求的相关信息,并根据检测到用户操作信息确定是否发送占用许可指令至显示端。
应理解的是,在未背离本申请教导的情况下,显示端还可以通过其他方式反馈占用请求,本申请对此不作限制。
作为一个示例,若候选的显示屏的个数等于1,显示端针对该候选的显示屏反馈占用请求。若候选的显示屏的个数大于1,显示端可以针对各个候选的显示屏反馈占用请求,若接收到一个候选的显示屏的占用许可指令,将该候选的显示屏作为选择出的显示屏,若接收到多个候选的显示屏的占用许可指令,可根据多个候选的显示屏的优先级出投屏端对应的显示屏,或者,随机选择出投屏端对应的显示屏。
应该理解的是,在未背离本申请教导的情况下,若候选的显示屏的个数大于1,显示端还可以采用其他方式反馈占用请求,例如,可以针对各个候选的显示屏的优先级,依次反馈占用请求,若检测到占用许可指令,则将当前的候选的显示屏作为选择出的显示屏,若检测到占用拒绝指令,则针对下一个候选的显示屏反馈占用请求。
应该理解的是,在未背离本申请教导的情况下,若针对候选的显示屏反馈的占用请求反馈的是占用拒绝指令,显示端可以向投屏端反馈投屏失败信息等,也可采取其他措施,本申请对此不作限制。
在本申请的一实施方式中,显示端从候选的显示屏选择出投屏端对应的显示屏的方式可以包括:显示端响应于候选的显示屏均被占用,且,投屏端的优先级高于候选的显示屏的占用端的优先级,将候选的显示屏作为选择出的显示屏。换言之,若候选的显示屏被占用,但投屏端的优先级高于占用端的优先级,投屏端可占用该候选的显示屏。
应该理解的是,本领域技术人员可以理解,上文提及的确定投屏端对应的显示屏的方式可在确定投屏端靠近显示端后,显示投屏数据前的任意步骤执行,各步骤的实施顺序可根据需要设置。例如,投屏端通过投屏应用创建的虚拟屏确定投屏数据,显示端可在确定触发投屏指令后,通过上述示例确定投屏端对应的显示屏,并将投屏端对应的显示屏的尺寸信息发送给投屏端,投屏端的投屏应用根据投屏端对应的显示屏的尺寸信息创建虚拟屏。又如,投屏端通过录屏等其他方式获取投屏数据,显示端可在接收到投屏数据后,通过上述步骤确定投屏端对应的显示屏,通过投屏端对应的显示屏显示接收到的投屏数据。本申请对执行确定投屏端对应的显示屏的投屏端触发投屏指令的时机不作限制。
上面对显示端为不同的投屏端调度显示屏的方式进行示例性说明。下面对显示端显示第一投屏数据的过程方式进行示例说明。
在本申请的一些实施方式中,显示端接收到第一投屏数据后,确定第一投屏数据对应的显示端的显示屏;响应于确定出的显示屏正在显示根据第二虚拟屏的屏幕界面确定的第二投屏数据,确定第二投屏数据对应的应用,并通过投屏应用反馈终止投屏信息至第二投屏数据对应的应用;通过确定出的显示屏显示第一投屏数据。换言之,第一投屏数据对应的显示端的显示屏优先选择第一投屏数据,可减少由于显示端的显示屏同时显示多个投屏数据导致第三方应用的操作界面的显示比例失调等问题。
作为一个示例,显示端可将预先指定的显示屏(例如中控显示屏)作为第一投屏数据对应的显示屏。
作为另一示例,第一用户操作信息中包括期望用于显示第一投屏数据的显示端的显示屏的标识信息,投屏端在确定第一投屏数据的过程中,根据第一用户操作信息中携带的显示屏的标识信息,以及显示屏和传输链路的对应关系,确定用户传输第一投屏数据的传输链路,并投屏确定出的传输链路传输第一投屏数据。显示端可根据接收第一投屏数据的传输链路,以及传输链路和显示屏的对应关系,确定第一投屏数据对应的显示屏。
作为还一示例,第一用户操作信息中包括期望用于显示第一投屏数据的显示端的显示屏的标识信息,投屏端根据第一虚拟屏的屏幕界面和第一用户操作信息中的显示屏的标识信息,确定并传输第一投屏数据至显示端。显示端接收第一投屏数据后,根据第一投屏数据中的显示屏的标识信息,确定第一投屏数据对应的显示屏。
应该理解的是,在未背离本申请教导的情况下,还可通过其他方式确定第一投屏数据对应的显示屏,本申请对此不作限制。
上面对用户触发第三方应用投屏功能下,显示端的投屏方法进行了示例性说明,下面对用户触发应用模块投屏功能下,显示端的投屏方法进行示例性说明。
在本申请的一些实施方式中,在投屏端根据应用模块的界面信息绘制投屏应用创建的虚拟屏(例如第二虚拟屏),并根据投屏应用创建的虚拟屏的屏幕界面,确定并传输投屏数据至显示端后,显示端响应于投屏数据对应的显示端的显示屏未显示出该投屏数据以外的其他投屏数据,通过投屏数据对应的显示端的显示屏显示该投屏数据;响应于检测到基于不同的虚拟屏得到的多个投屏数据对应的、显示端的显示屏均为第一显示屏,根据预设的调度策略,控制第一显示屏显示多个投屏数据中的至少一个投屏数据。为便于理解,下面对调度策略进行示例性说明。
调度策略的实施例1
在本申请的一些实施方式中,显示端支持分屏显示,调度策略指示:通过分屏显示的方式,在第一显示屏显示与第一显示屏对应的多个不同虚拟屏的投屏数据。
作为一个示例,投屏端的虚拟屏1和投屏端的虚拟屏2均对应于显示端的第一显示屏,基于投屏端的虚拟屏1得到的投屏数据1和基于投屏端的虚拟屏2得到的投屏数据2均指示通过显示端的第一显示屏进行显示。基于调度策略的实施例1,显示端将投屏数据1和投屏数据2通过第一显示屏分屏显示。
在本申请的一些实施方式中,调度策略还指示:根据预设的划分规则,确定多个投屏数据在第一显示屏上的显示位置。示例地,若显示端的第一显示屏对应多个投屏数据,显示端可先根据对应于第一显示屏的投屏数据的数量,将显示端的第一显示屏划分为多个显示区域,并将显示屏上的显示区域按照从上至下、从左至右的规则,对各个显示区域进行编号(例如,编号为1、2……)。显示端根据按照预设的划分规则,确定用于显示各个投屏数据的显示区域。为便于理解,下面对划分规则进行示例性说明。
作为一个示例,划分规则指示:根据多个投屏数据对应的应用模块的优先级,确定多个投屏数据在第一显示屏上的显示位置。示例地,显示端根据多个投屏数据对应的应用模块的优先级,为优先级更高的应用模块对应的投屏数据分配编号更小的显示区域。显示端通过为各个投屏数据分配的显示区域显示各个投屏数据。显示端可将用户使用显示端的过程中使用频率更高或关注度更高的应用模块展示在更便于用户观看的显示区域,使得用户更方便使用该应用模块的功能。
作为另一示例,划分规则指示:根据多个投屏数据对应的应用模块所属的应用类型,确定多个投屏数据在第一显示屏上的显示位置。示例地,显示端根据多个投屏数据对应的应用模块所属的应用类型的优先级,为优先级更高的应用类型对应的投屏数据分配编号更小的显示区域。若存在应用类型相同的投屏数据,可为应用类型相同的投屏数据随机分配显示区域,也可根据对应的应用模块的优先级为其分配显示区域。显示端通过为各个投屏数据分配的显示区域显示各个投屏数据。显示端可将属于用户使用显示端的过程中使用频率更高或关注度更高的应用类型的应用模块展示在更便于用户观看的显示区域,使得用户更方便使用该应用模块的功能。
作为又一示例,划分规则指示:根据多个投屏数据对应的应用模块的启动顺序,确定多个投屏数据在第一显示屏上的显示位置。示例地,显示端根据多个投屏数据对应的应用模块的启动顺序,为启动顺序在前的应用模块对应的投屏数据分配编号更小的显示区域,或者,为启动顺序在前的应用模块对应的投屏数据分配编号更大的显示区域。显示端通过为各个投屏数据分配的显示区域显示各个投屏数据。显示端可将最新启动的应用模块展示在更便于用户观看的显示区域,使得用户更方便使用该应用模块的功能。
应当理解的是,在未背离本申请教导的情况下,可根据需要调整划分规则,本申请对此不作限制。
调度策略的实施例2
在本申请的一些实施方式,调度策略指示:在第一显示屏显示多个投屏数据中的第一投屏数据;通过画中画的形式,显示多个投屏数据中除第一投屏数据以外的其他投屏数据。
作为一个示例,第一投屏数据可以是多个投屏数据中的优先级最高的投屏数据。而多个投屏数据的优先级可根据多个投屏数据对应的应用模块的启动顺序确定,或者,多个投屏数据的优先级可根据多个投屏数据对应的应用模块的启动顺序确定。本申请对此不作限制。
作为一个示例,通过画中画的形式显示其他投屏数据时,可参考类似上文提及的划分规则,在第一显示屏的不同显示区域同时弹出各个用于显示其他投屏数据的画中画显示窗口,也可按照一定的时间间隔,在同一显示区域(例如第一显示屏的中心区域)依次弹出用于显示其他投屏数据的画中画显示窗口,本申请对此不作限制。
示例地,基于投屏端的虚拟屏1得到的投屏数据1、基于投屏端的虚拟屏2得到的投屏数据2和基于投屏端的虚拟屏3得到的投屏数据3均指示通过显示端的第一显示屏进行显示。投屏数据1的优先级最高,显示端通过第一显示屏显示投屏数据1,通过画中画显示投屏数据1和投屏数据2。
调度策略的实施例3
在本申请的一些实施方式中,调度信息指示:反馈多个投屏数据的摘要信息给用户;获取用户选择信息,并根据用户选择信息确定用户选择的投屏数据;在第一显示屏上显示用户选择的投屏数据。
作为一个示例,投屏数据的摘要信息至少包括以下之一:投屏数据对应的应用模块的标识(例如应用模块的名称或图标);基于投屏数据得到中的至少一帧待投屏图像。
应当理解的是,在未背离本申请教导的情况下,投屏数据的摘要信息还可包括其他信息,本申请对此不作限制。
示例地,基于投屏端的虚拟屏1得到的投屏数据1、基于投屏端的虚拟屏2得到的投屏数据2和基于投屏端的虚拟屏3得到的投屏数据3均指示通过显示端的第一显示屏进行显示。显示端可通过例如列表的形式显示投屏数据1的摘要信息、投屏数据2的摘要信息和投屏数据3的摘要信息。若用户需要观看投屏数据1,通过第一显示屏点击显示投屏数据1的摘要信息的区域,显示端检测到用户触发的区域为显示投屏数据1的摘要信息的区域后,在第一显示屏显示投屏数据1。
应当理解的是,在未背离本申请教导的情况下,还可基于其他规则设置调度策略,本申请对此不作限制。
在本申请的一些实施方式中,显示端可以在接收到投屏数据后,显示投屏数据,也可以在接收到投屏数据且满足显示条件后,显示投屏数据。
例如,投屏端为移动终端,显示端为车辆。车辆通过距离检测模块以第一频率检测移动终端是否靠近车辆。在检测到移动终端靠近车辆后,车辆触发投屏请求,并通过距离检测模块以第二频率检测移动终端是否进入车辆,第二频率大于第一频率。车辆在检测到移动终端进入车辆后,显示移动终端传输的投屏数据。在移动终端靠近车辆前,车辆以更低的频率检测移动终端和车辆的距离以判断移动终端是否靠近车辆,可减少车辆的距离检测模块的功耗。在确定移动终端靠近车辆后,车辆以更高的频率检测移动终端和车辆的距离以判断移动终端是否进入车辆,使得车辆可以更及时地为用户提供投屏数据。
在本申请的一些实施方式中,显示端获取并传输用户操作信息至投屏端,以使投屏端响应用户操作,使得用户可通过显示端的显示屏控制投屏端。其中,投屏端对用户操作信息的响应方式可参考投屏端的投屏方法200中的相关描述,此处不再赘述。
示例地,若显示端的多个显示屏均为触控屏,显示端获取用户操作信息的方式可包括:获取显示端的至少一个显示屏传输的、指示用户操作的显示区域的检测数据;根据显示端的至少一个显示屏的标识信息和检测数据,确定用户操作信息。换言之,显示端确定的用户操作信息携带有显示屏的标识信息,以便投屏端确定用户实际操作的显示屏,进而根据显示端的显示屏和当前运行的应用模块的对应关系,确定用户实际操作的应用模块。
在本申请的一些实施方式中,显示端的显示屏至少包括第一显示屏和第二显示屏,投屏端的投屏数据至少通过第一显示屏显示。显示端响应于第一显示屏检测到信息共享请求,反馈信息共享请求,信息共享请求指示将投屏端的投屏数据共享至第二显示屏;响应于接收到共享确认指令,通过第一显示屏和第二显示屏显示投屏端的投屏数据。换言之,显示端在通过第一显示屏显示投屏端的投屏数据的同时,若用户需要将该投屏数据分享至显示端的其他显示屏(简称为目标显示屏),可通过点击第一显示屏的共享按钮,或者,通过指令的滑动手势,触发信息共享请求。显示端可通过目标显示屏以弹窗的形式反馈信息共享请求,若目标显示屏检测到共享确认指令,显示端将通过第一显示屏和第二显示屏共同显示投屏端的投屏数据。
值得一提的是,用户可通过显示端发起信息共享,可将投屏数据分享给其他用户,使得其他用户无需通过移动自身位置即可观看投屏数据,提高了用户体验。
在本申请的一些实施方式中,显示端的显示屏至少包括第一显示屏和第二显示屏,投屏数据包括第一投屏数据和第二投屏数据,第一投屏数据通过第一显示屏显示,第二投屏数据通过第二显示屏显示。显示端响应于检测到指示第一显示屏和第二显示屏切换的切屏指令,显示端控制第二显示屏显示第一投屏数据,并控制第一显示屏显示第二投屏数据。
作为一个示例,来源不同的投屏数据通过不同的传输链路传输。显示端根据存储的显示屏和传输链路的对应关系确定用于显示各个投屏数据的显示屏,在检测到切换指令后,调整显示屏和传输链路的对应关系,使得第一显示屏对应传输第二投屏数据的第二传输链路,第二显示屏对应传输第一投屏数据的第一传输链路。显示端基于调整后的显示屏和传输链路的对应关系进行投屏时,即可使第二显示屏显示第一投屏数据,第一显示屏显示第二投屏数据。
应当理解的是,在未背离本申请教导的情况下,还可通过其他方式实现切屏效果,本申请对此不作限制。
为便于理解,下面以投屏端为移动终端,显示端为车辆为例,结合用户操作,对移动终端和车辆之间的投屏过程进行示例性说明。
移动终端和车辆可通过例如USB连接或wifi连接进行数据传输,将移动终端的投屏数据传输至车辆。开启投屏应用后,车辆的中控显示屏可先展示如图4所示的操作界面,以便用户选择需要触发的应用。
用户操作1:用户在中控显示屏上点击应用模块1(例如导航模块)的图标。中控显示屏检测到第一操作信息,发送第一操作信息至移动终端。移动终端接收到第一操作信息,基于中控显示屏检测到触碰信号的区域的位置,分析出第一操作信息指示打开应用模块1,将应用模块1的操作界面绘制在基于中控显示屏创建的虚拟屏1(Vistual Display)上,通过投屏应用和被投屏应用之间的互联通道,将根据虚拟屏1确定的投屏数据1传输至车辆。车辆根据接收到的投屏数据1,在中控显示屏的第一显示区域显示虚拟屏1的屏幕界面,即应用模块1的操作界面,在中控显示屏的第二显示区域显示投屏应用中的应用模块的信息和第三方应用的信息。
用户操作2:用户进行中控显示屏和副驾驶显示屏的切屏操作(例如在中控显示屏上进行三指滑动操作、点击切换按钮等)。中控显示屏检测到第二操作信息后,响应方式可至少包括以下两种:
响应方式一:移动终端根据中控显示屏检测到用户操作信息中触碰信号的区域的位置,确定用户手指触碰的坐标点和用户手指的移动距离;若触碰的坐标点和移动距离指示用户进行了切屏操作,通过上文提及的屏幕切换方式,改变应用模块1的屏幕界面和车辆的显示屏的对应关系,使得投屏数据1通过副驾驶显示屏显示,即副驾驶显示屏显示应用模块1的操作界面,中控显示屏继续显示图4所示的操作界面。其具体切换方式可参考上文的相关描述,此处不再赘述。
响应方式二:车辆检测到用户点击切换按钮,触发切换指令,通过上文提及的显示端对切换指令的响应方式,进行切屏操作。
用户操作3:用户在中控显示屏上点击应用模块2(例如视频模块)的图标。中控显示屏检测到第三操作信息,发送第三操作信息至移动终端。移动终端接收到第三操作信息,基于中控显示屏检测到触碰信号的区域的位置,分析出第三操作信息指示打开应用模块2,将应用模块2的操作界面绘制在基于中控显示屏创建的虚拟屏1(Vistual Display)上,通过投屏应用和被投屏应用之间的互联通道,将根据虚拟屏1确定的投屏数据2传输至车辆。车辆根据接收到的投屏数据2,在中控显示屏的第一显示区域显示虚拟屏2的屏幕界面,即应用模块2的操作界面,在中控显示屏的第二显示区域显示投屏应用中的应用模块的信息和第三方应用的信息。应该理解的是,若需要实现除导航、视频以外的其他功能,可通过在投屏应用中编译具有该功能的应用模块实现。
用户操作4:用户进行中控显示屏和副驾驶显示屏的切屏操作,车辆和移动终端通过类似对于用户操作2的响应,进行中控显示屏和副驾驶显示屏的切换,使得中控显示屏的第一显示区域显示应用模块1的操作界面,中控显示屏的第二显示区域显示投屏应用中的应用模块的信息和第三方应用的信息,副驾驶显示屏显示应用模块2的操作界面。
用户操作5:用户在中控显示屏的第二显示区域点击第三方应用1,并指定通过主驾驶后枕屏显示第三方应用1。中控显示屏检测到第三操作信息,发送第三操作信息至移动终端。移动终端接收到第三操作信息,基于中控显示屏检测到触碰信号的区域的位置,分析出第三操作信息指示打开第三方应用1。投屏端通过本申请的实施方式提及的投屏方法200获得第三方应用1的投屏数据3,并将投屏数据1、投屏数据2和投屏数据3均发送至车辆,以便车辆通过中控显示屏显示投屏数据1,通过副驾驶显示屏显示投屏数据2,通过主驾驶后枕屏显示投屏数据3。
通过上述内容可以看出,本申请的实施方式在实现移动终端投屏的基础上,实现了多路投屏,不同投屏数据可通过不同的传输链路传输,以此来实现多屏交互。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本申请的实施方式还提供一种电子设备,包括:至少一个处理器;与至少一个处理器通信连接的通信单元,在处理器的控制下进行数据传输;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施方式提及的投屏端的投屏方法,电子设备为投屏端;或者,能够执行上述实施方式提及的显示端的投屏方法,电子设备为显示端。
在本申请的一些实施方式中,显示端为智能座舱。
在本申请的一些实施方式中,显示端为车辆。
本申请的一个实施方式还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序被处理器执行时,实现投屏端的投屏方法或显示端的投屏方法。
图11示出了可以作为本申请的实施方式的投屏端的或显示端的电子设备400的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图11所示,电子设备400包括计算单元401,其可以根据存储在只读存储器(ROM)402中的计算机程序或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序,来执行各种适当的动作和处理。在RAM 403中,还可存储电子设备400操作所需的各种程序和数据。计算单元401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
电子设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如触控屏、麦克风等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许电子设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理,例如投屏端的投屏方法或显示端的投屏方法。例如,在一些实施方式中,投屏端的投屏方法或显示端的投屏方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施方式中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到电子设备400上。当计算机程序加载到RAM 403并由计算单元401执行时,可以执行上文描述的投屏端的投屏方法或显示端的投屏方法的一个或多个步骤。备选地,在其他实施方式中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行投屏端的投屏方法或显示端的投屏方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置,例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器;以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
以上描述仅为本申请的实施方式以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的保护范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离技术构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (13)
1.一种投屏方法,其特征在于,所述方法包括:
通过投屏端的投屏应用获取第一用户操作信息,其中,所述投屏端安装有操作***和第三方应用;
响应于所述第一用户操作信息指示对所述第三方应用进行投屏,调用所述操作***的第一软件接口以使所述操作***根据所述第一用户操作信息确定用户操作的第三方应用,并根据确定出的第三方应用的界面信息绘制所述操作***创建的第一虚拟屏;
根据基于所述确定出的第三方应用的界面信息绘制的所述第一虚拟屏的屏幕界面确定第一投屏数据;以及
通过所述投屏应用和显示端的被投屏应用之间的互联通道传输所述第一投屏数据至所述显示端,以通过所述显示端的至少一个显示屏显示所述第一投屏数据。
2.根据权利要求1所述的方法,其中,所述获取第一用户操作信息包括:
获取第二投屏数据,所述第二投屏数据根据至少反馈所述第三方应用的标识信息的第一主操作界面确定;
传输所述第二投屏数据至所述显示端,以通过所述显示端的至少一个显示屏显示所述第二投屏数据;以及
获取所述显示端在显示所述第二投屏数据后检测到的所述第一用户操作信息。
3.根据权利要求2所述的方法,其中,所述获取第二投屏数据包括:
根据所述操作***基于所述第三方应用的标识信息绘制的所述第一虚拟屏的屏幕界面获取所述第二投屏数据。
4.根据权利要求3所述的方法,其中,所述方法还包括:
获取第二用户操作信息;
响应于所述第二用户操作信息指示第二软件接口的标识信息被触发,调用所述第二软件接口以使所述操作***基于所述第三方应用的标识信息绘制所述第一虚拟屏。
5.根据权利要求4所述的方法,其中,所述获取第二用户操作信息包括:
根据第二主操作界面绘制所述投屏应用创建的第二虚拟屏的屏幕界面,所述第二主操作界面至少反馈所述第二软件接口的标识信息;
根据所述第二虚拟屏的屏幕界面确定并传输第三投屏数据至所述显示端,以通过所述显示端的至少一个显示屏显示所述第三投屏数据;以及
接收所述显示端在显示所述第三投屏数据后检测到的所述第二用户操作信息。
6.根据权利要求5所述的方法,其中,所述投屏应用中设置有多个应用模块,所述第二主操作界面还反馈所述应用模块的标识信息。
7.根据权利要求2所述的方法,其中,所述获取第二投屏数据包括:
调用预定义的第三软件接口以使所述操作***查询并反馈所述第三方应用的标识信息至所述投屏应用;
根据所述第三方应用的标识信息确定所述第一主操作界面;
根据所述第一主操作界面绘制所述投屏应用创建的第二虚拟屏;以及
根据所述第二虚拟屏的屏幕界面确定所述第二投屏数据。
8.根据权利要求7所述的方法,其中,所述根据所述第三方应用的标识信息确定所述第一主操作界面包括:
根据所述第三方应用的标识信息和所述投屏应用的应用模块的标识信息,确定所述第一主操作界面。
9.根据权利要求1至8中任一项所述的方法,其中,在确定出所述第一投屏数据后,所述方法还包括:
确定所述第一投屏数据对应的所述显示端的显示屏;以及
停止与确定出的显示屏对应的、除所述第一投屏数据以外的其他投屏数据的数据传输。
10.一种投屏方法,其特征在于,包括:
通过显示端的被投屏应用和投屏端的投屏应用之间的互联通道接收所述投屏端传输的第一投屏数据,所述第一投屏数据根据所述投屏端的操作***基于第三方应用的界面信息绘制的第一虚拟屏的屏幕界面确定;以及
通过所述显示端的至少一个显示屏显示所述第一投屏数据。
11.根据权利要求10所述的方法,其中,通过所述显示端的至少一个显示屏显示所述第一投屏数据包括:
确定所述第一投屏数据对应的所述显示端的显示屏;
响应于确定出的显示屏正在显示根据第二虚拟屏的屏幕界面确定的第二投屏数据,确定所述第二投屏数据对应的应用,并通过所述投屏应用反馈终止投屏信息至所述第二投屏数据对应的应用;以及
通过所述确定出的显示屏显示所述第一投屏数据。
12.一种电子设备,其特征在于,包括:
至少一个处理器;
与所述至少一个处理器通信连接的通信单元,在所述处理器的控制下进行数据传输;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至9中任一项所述的投屏方法;或者,执行如权利要求10或11所述的投屏方法。
13.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至9中任一项所述的投屏方法,或者,如权利要求10或11所述的投屏方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210290956.4A CN115729501A (zh) | 2022-03-23 | 2022-03-23 | 投屏方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210290956.4A CN115729501A (zh) | 2022-03-23 | 2022-03-23 | 投屏方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115729501A true CN115729501A (zh) | 2023-03-03 |
Family
ID=85292375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210290956.4A Pending CN115729501A (zh) | 2022-03-23 | 2022-03-23 | 投屏方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115729501A (zh) |
-
2022
- 2022-03-23 CN CN202210290956.4A patent/CN115729501A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101919788B1 (ko) | 이동 단말기 및 그 제어방법 | |
EP2387202B1 (en) | Electronic device and method of sharing contents thereof with other devices | |
US10237901B2 (en) | Method and apparatus for connecting with controlled smart device, and storage medium | |
KR101919794B1 (ko) | 이동 단말기, 방송 단말기 및 이들의 제어 방법 | |
EP2690547B1 (en) | Terminal and method of sharing a handwriting therein | |
US9826529B1 (en) | Adaptive wireless frequency band sharing | |
KR102642689B1 (ko) | 전자 장치 및 그 트래픽 제어 방법 | |
CN109445577B (zh) | 虚拟房间切换方法、装置、电子设备及存储介质 | |
CN112732535B (zh) | 一种控制应用程序限时使用的方法及电子设备 | |
CN113138560B (zh) | 终端控制方法、装置、设备及可读存储介质 | |
CN114629932A (zh) | 电子设备间的协同方法及电子设备 | |
CN115729502B (zh) | 投屏端和显示端的响应方法、电子设备及存储介质 | |
CN115729499A (zh) | 投屏端和显示端的响应方法、电子设备及存储介质 | |
CN115729500A (zh) | 投屏端和显示端的投屏方法、电子设备及存储介质 | |
CN115729501A (zh) | 投屏方法、电子设备及存储介质 | |
CN114143280B (zh) | 会话显示方法、装置、电子设备及存储介质 | |
CN113254092B (zh) | 处理方法、设备及存储介质 | |
CN112306328B (zh) | 移动终端的控制方法、移动终端及存储介质 | |
US11388209B2 (en) | Interactive broadcast | |
CN116033586A (zh) | 针对网络切片下的业务的资源调配方法、装置和设备 | |
CN112416492A (zh) | 一种终端交互方法、终端及计算机可读存储介质 | |
KR101726549B1 (ko) | 모바일 실시간 시뮬레이션 게임에서의 터치 조작 방식 | |
CN115408142A (zh) | 信息处理方法、装置及介质 | |
CN116700997B (zh) | 边缘云设备的扩容方法、装置、设备及可读存储介质 | |
CN107797645A (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 |