CN114363678A - 一种投屏方法及设备 - Google Patents
一种投屏方法及设备 Download PDFInfo
- Publication number
- CN114363678A CN114363678A CN202011049448.4A CN202011049448A CN114363678A CN 114363678 A CN114363678 A CN 114363678A CN 202011049448 A CN202011049448 A CN 202011049448A CN 114363678 A CN114363678 A CN 114363678A
- Authority
- CN
- China
- Prior art keywords
- layer
- terminal
- screen
- mobile phone
- screen projection
- 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,以手机101的屏幕分辨率为2244*1080,某视频的分辨率为1920*1080为例。手机101屏幕的宽高比(2244/1080)与该视频的宽高比(1920/1080)不一致。那么,如图1所示,在手机101全屏播放视频时,该视频并未全屏铺满手机101的整个屏幕,而是在其左右两侧存在黑边。
在上述场景下,如果手机将当前显示界面投射到其他终端(如电视机)上显示,则视频两侧的黑边也会投射到电视机上,即电视机上显示的投屏界面中也会存在黑边。另外,当前手机的屏幕分辨率和常用视频应用中的视频的分辨率通常情况下都不相同。如,大多数视频的分辨率都是1920*1080,而大部分手机的屏幕分辨率都不是1920*1080,如有的手机的屏幕分辨率为2244*1080,又如有的手机的屏幕分辨率为2340*1080。但是电视机的屏幕分辨率基本都是1920*1080。
这样,结合图1和图2,在将手机(如图1中的手机101)显示界面投射到电视机(如图2所示的电视机201)上时,因为要保持视频的宽高比不变,电视机201需要对手机101屏幕上显示的视频做缩放,如图2所示,导致最终在电视机201上播放视频时,视频的上下左右都存在黑边。导致视频无法在电视机上最大化呈现。
发明内容
本申请实施例提供一种投屏方法及设备,投屏源端展示元素在投射到投屏目的端后,可在投屏目的端实现元素的最大化呈现,提高了用户的使用体验。
为达到上述目的,本申请采用如下技术方案:
本申请的第一方面,提供一种投屏方法,该方法可以应用于第一终端,第一终端与第二终端连接,该方法可以包括:第一终端在第一终端的显示屏上显示第一界面,该第一界面包括第一图层,该第一图层包括第一元素;第一终端在启动投屏后,向第二终端发送投屏内容,该投屏内容包括第一元素所在的第一图层,第一图层是根据第一几何变换矩阵合成到虚拟显示上的,第一几何变换矩阵包括用于对第一图层进行偏移的偏移参数和用于对第一图层进行缩放的缩放参数,以使得第一图层至少在一个方向上铺满虚拟显示,第一几何变换矩阵与第二几何变换矩阵不同,第二几何变换矩阵是在第一终端的显示屏上合成第一图层时所使用的矩阵。
其中,上述第一元素可以是需要在第二终端进行最大化呈现的元素。
采用上述技术方案,对于投屏源端,如第一终端显示的元素,可通过重新确定该元素所在图层对应的几何变换矩阵,用于该图层在虚拟显示上的合成,由于重新确定的该几何变换矩阵能够尽可能的将该图层缩放到与虚拟显示的尺寸一致,因此可使得被投射到投屏目的端,如第二终端的该元素能够最大化在投屏目的端呈现给用户。
例如,在投屏源端显示的元素存在黑边的情况下,通过尽可能的将该元素所在图层缩放到与虚拟显示的尺寸一致,可使得该图层尽可能的铺满虚拟显示,以去除或缩小投屏到投屏目的端的元素的黑边,从而使得被投射到投屏目的端的元素在投屏目的端最大化呈现。提高了用户的使用体验。
在一种可能的实现方式中,第一终端向第二终端发送投屏内容之前,该方法还可以包括:第一终端获取第一标识,该第一标识是第一图层的标识;第一终端获取第一几何变换矩阵;第一终端根据第一标识,将第一图层采用第一几何变换矩阵合成到虚拟显示上。可以通过识别出需要进行最大化呈现的元素,即第一元素所在图层的标识,以便在进行图层合成时,仅针对该图层采用重新确定的几何变换矩阵进行合成,不仅可以确保该图层中的元素可以最大化呈现到投屏目的端,还可提高终端进行图层合成时效率。
在另一种可能的实现方式中,第一终端获取第一几何变换矩阵,可以包括:第一终端获取第一图层在虚拟显示上的初始显示区域;第一终端根据初始显示区域的第一角相对于虚拟显示的第一角的坐标,获取偏移参数;第一终端根据第一元素的宽和高,及虚拟显示的宽和高,获取缩放参数;第一终端根据偏移参数和缩放参数获取第一几何变换矩阵。可根据第一图层在虚拟显示上的初始显示区域来确定出需要对该图层进行偏移的偏移参数,根据第一元素的宽高及虚拟显示的宽高确定对图层进行缩放的缩放参数,不仅可以防止图层某些部分不被截断,还可以确保将图层内容扩充到与虚拟显示尽可能一致。
在另一种可能的实现方式中,上述缩放参数可以包括横向缩放参数和纵向缩放参数;横向缩放参数和纵向缩放参数均为第一比值与第二比值中的最小值,通过设置相同的横向和纵向缩放参数,可使得图层在横向和纵向进行等比缩放。对图层进行等比缩放,可确保内容不被拉伸,在尽可能将第一元素最大化呈现到投屏目的端的同时,提高了用户的观感体验。或,横向缩放参数为第一比值,纵向缩放参数为第二比值,通过设置对应的横向和纵向缩放参数,可使得图层在横向和纵向进行满屏缩放。对图层进行满屏缩放,确保了该第一元素最大化投射到投屏目的端,如可去除视频元素的黑边。其中,第一比值为虚拟显示的宽与第一元素的宽的比值,第二比值为虚拟显示的高与第一元素的高的比值。
在另一种可能的实现方式中,第一终端获取第一几何变换矩阵,可以包括:第一终端获取第一元素对应的矩形信息;第一终端根据矩形信息中的第一角相对于虚拟显示的第一角的坐标,获取偏移参数;第一终端根据矩形信息对应矩形的宽和高,及虚拟显示的宽和高,获取缩放参数;第一终端根据偏移参数和缩放参数获取第一几何变换矩阵。可根据第一元素对应的矩形信息来确定出需要对该图层进行偏移的偏移参数,根据第一元素的矩形信息对应矩形的宽高及虚拟显示的宽高确定对图层进行缩放的缩放参数,可以使得图层中任意的区域,如第一元素所在的区域最大化呈现到投屏目的端。
在另一种可能的实现方式中,上述缩放参数可以包括横向缩放参数和纵向缩放参数;横向缩放参数和纵向缩放参数均为第一比值与第二比值中的最小值;或,横向缩放参数为第一比值,纵向缩放参数为第二比值。其中,第一比值为虚拟显示的宽与矩形信息对应矩形的宽的比值,第二比值为虚拟显示的高与矩形信息对应矩形的高的比值。
在另一种可能的实现方式中,第一终端获取第一标识,可以包括:第一终端查询第一界面中所有图层的标识;第一终端将所有图层的标识中,前缀为第一前缀的图层的标识确定为第一标识,第一前缀与第一元素对应。
在另一种可能的实现方式中,第一元素可以是视频元素。
在另一种可能的实现方式中,在第一终端在启动投屏后,向第二终端发送投屏内容之前,该方法还可以包括:第一终端接收对第一元素的跨设备拖拽操作;第一终端获取第一标识,可以包括:第一终端从响应跨设备拖拽操作生成的拖拽数据中获取第一标识。
在另一种可能的实现方式中,第一元素可以为画中画,悬浮窗,视频元素。
本申请的第二方面,提供一种投屏装置,该装置可以应用于第一终端,第一终端与第二终端连接,该装置可以包括:显示单元,用于在第一终端的显示屏上显示第一界面,该第一界面包括第一图层,该第一图层包括第一元素;发送单元,用于在启动投屏后,向第二终端发送投屏内容,该投屏内容包括第一元素所在的第一图层,第一图层是根据第一几何变换矩阵合成到虚拟显示上的,第一几何变换矩阵包括用于对第一图层进行偏移的偏移参数和用于对第一图层进行缩放的缩放参数,以使得第一图层至少在一个方向上铺满虚拟显示,第一几何变换矩阵与第二几何变换矩阵不同,第二几何变换矩阵是在第一终端的显示屏上合成第一图层时所使用的矩阵。
其中,上述第一元素可以是需要在第二终端进行最大化呈现的元素。
在一种可能的实现方式中,该装置还可以包括:获取单元,用于获取第一标识,该第一标识是第一图层的标识;获取第一几何变换矩阵;合成单元,用于根据第一标识,将第一图层采用第一几何变换矩阵合成到虚拟显示上。
在另一种可能的实现方式中,获取单元获取第一几何变换矩阵,可以包括:获取单元获取第一图层在虚拟显示上的初始显示区域;根据初始显示区域的第一角相对于虚拟显示的第一角的坐标,获取偏移参数;根据第一元素的宽和高,及虚拟显示的宽和高,获取缩放参数;根据偏移参数和缩放参数获取第一几何变换矩阵。
在另一种可能的实现方式中,上述缩放参数可以包括横向缩放参数和纵向缩放参数;横向缩放参数和纵向缩放参数均为第一比值与第二比值中的最小值;或,横向缩放参数为第一比值,纵向缩放参数为第二比值。其中,第一比值为虚拟显示的宽与第一元素的宽的比值,第二比值为虚拟显示的高与第一元素的高的比值。
在另一种可能的实现方式中,获取单元获取第一几何变换矩阵,可以包括:获取单元获取第一元素对应的矩形信息;根据矩形信息中的第一角相对于虚拟显示的第一角的坐标,获取偏移参数;根据矩形信息对应矩形的宽和高,及虚拟显示的宽和高,获取缩放参数;根据偏移参数和缩放参数获取第一几何变换矩阵。
在另一种可能的实现方式中,上述缩放参数可以包括横向缩放参数和纵向缩放参数;横向缩放参数和纵向缩放参数均为第一比值与第二比值中的最小值;或,横向缩放参数为第一比值,纵向缩放参数为第二比值。其中,第一比值为虚拟显示的宽与矩形信息对应矩形的宽的比值,第二比值为虚拟显示的高与矩形信息对应矩形的高的比值。
在另一种可能的实现方式中,获取单元获取第一标识,可以包括:获取单元查询第一界面中所有图层的标识;将所有图层的标识中,前缀为第一前缀的图层的标识确定为第一标识,第一前缀与第一元素对应。
在另一种可能的实现方式中,第一元素可以是视频元素。
在另一种可能的实现方式中,该装置还可以包括:输入单元,用于接收对第一元素的跨设备拖拽操作;获取单元获取第一标识,可以包括:获取单元从响应跨设备拖拽操作生成的拖拽数据中获取第一标识。
在另一种可能的实现方式中,第一元素可以为画中画,悬浮窗,视频元素。
本申请的第三方面,提供一种投屏装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令时使得投屏装置实现如第一方面或第一方面的可能的实现方式中任一项所述的方法。
本申请的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令被电子设备(如上述第一终端)执行时使得电子设备实现如第一方面或第一方面的可能的实现方式中任一项所述的方法。
本申请的第五方面,提供一种电子设备(如上述第一终端),该电子设备包括显示屏,一个或多个处理器和存储器;显示屏,处理器和存储器耦合;存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当计算机指令被电子设备执行时,使得该电子设备执行如第一方面或第一方面的可能的实现方式中任一项所述的方法。
本申请的第六方面,提供一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备(如上述第一终端)中运行时,电子设备中的处理器执行第一方面或第一方面的可能的实现方式中任一项所述的方法。
可以理解地,上述提供的第二方面及其任一种可能的实现方式所述的投屏装置,第三方面所述的投屏装置,第四方面所述的计算机可读存储介质,第五方面所述的电子设备,及第六方面所述的计算机程序产品所能达到的有益效果,可参考如第一方面及其任一种可能的实现方式中的有益效果,此处不再赘述。
附图说明
图1为相关技术中提供的一种显示界面示意图;
图2为相关技术中提供的另一种显示界面示意图;
图3为本申请实施例提供的一种系统架构的简化示意图;
图4为本申请实施例提供的一种手机的结构示意图;
图5为本申请实施例提供的一种投屏方法的流程示意图;
图6为本申请实施例提供的一种显示界面示意图;
图7为本申请实施例提供的一种在虚拟显示上合成元素的示意图;
图8为本申请实施例提供的另一种显示界面示意图;
图9为本申请实施例提供的一种对虚拟显示上图层进行处理的示意图;
图10为本申请实施例提供的另一种对虚拟显示上图层进行处理的示意图;
图11为本申请实施例提供的又一种对虚拟显示上图层进行处理的示意图;
图12为本申请实施例提供的又一种显示界面示意图;
图13为本申请实施例提供的又一种显示界面示意图;
图14为本申请实施例提供的又一种显示界面示意图;
图15为本申请实施例提供的又一种显示界面示意图;
图16为本申请实施例提供的又一种显示界面示意图;
图17为本申请实施例提供的一种投屏装置的组成示意图;
图18为本申请实施例提供的一种芯片系统的组成示意图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
目前,用户经常会使用手机观看视频。在用户使用手机观看视频时,如果所观看视频的宽高比与手机屏幕的宽高比不一致,则视频在手机上全屏展示时手机屏幕上会出现黑边。例如,可能是视频的左右两侧存在黑边,也可能是视频的上下两侧存在黑边,还可能是视频的上下左右四侧都存在黑边。
另外,为了提高办公效率,用户可将多个终端连接起来一起配合使用。例如,在两个终端连接后,利用多屏协同可实现这两个终端间的协同办公。多屏协同可利用镜像投屏方式,将一个终端显示的界面投射到另一个终端的显示屏上显示。如,在本实施例中,可以将投射其显示界面的终端称为投屏源端,接收投屏源端的投射并显示投屏源端显示界面的终端称为投屏目的端。将投屏目的端上显示的投屏源端投射的界面称为投屏界面。
而在用户使用手机观看视频,手机屏幕上出现黑边的场景下,如果手机作为投屏源端将当前显示界面投射到投屏目的端(如电视机)上显示时,视频两侧或四侧的黑边也会投射到电视机上。或者还可能因为要保持视频的宽高比不变,电视机需要对手机显示的视频做缩放,使得原本在手机上存在两侧黑边的视频投射到电视机上后,电视机显示的视频上下左右都存在黑边。导致视频无法在投屏目的端最大化呈现。
本申请实施例提供一种投屏方法,该方法可以应用于多终端协同使用时,投屏源端将其显示屏上显示的界面或界面元素投射到投屏目的端显示屏上显示的场景中。采用本实施例提供的方法,对于投屏源端显示的元素,可通过重新确定该元素所在图层对应的几何变换矩阵,用于该图层在虚拟显示上的合成。重新确定的该几何变换矩阵能够尽可能的将该图层缩放到与虚拟显示的尺寸一致,使得被投射到投屏目的端的元素能够最大化在投屏目的端呈现给用户。例如,在投屏源端显示的元素存在黑边的情况下,通过尽可能的将该元素所在图层缩放到与虚拟显示的尺寸一致,可使得该图层尽可能的铺满虚拟显示,以去除或缩小投屏到投屏目的端的对应元素的黑边,从而使得被投射到投屏目的端的元素在投屏目的端最大化呈现。提高了用户的使用体验。
需要说明的是,本实施例中所述的元素可以是视频元素(或者称为视频组件(Surface view)),画中画,悬浮窗(如视频聊天窗),图片,PPT等,本实施例在此不做具体限制。
下面将结合附图对本申请实施例的实施方式进行详细描述。
请参考图3,为本申请实施例提供的一种可以应用上述方法的系统架构的简化示意图。如图3所示,该系统架构至少可以包括:第一终端301和第二终端302。
其中,第一终端301和第二终端302可通过有线或无线的方式建立连接。基于建立的连接,第一终端301和第二终端302可配合一起使用。在本实施例中,第一终端301和第二终端302采用无线方式建立连接时采用的无线通信协议可以为无线保真(wirelessfidelity,Wi-Fi)协议、蓝牙(Bluetooth)协议、ZigBee协议、近距离无线通信(Near FieldCommunication,NFC)协议等,还可以是各种蜂窝网协议,在此不做具体限制。
在第一终端301与第二终端302连接后,第一终端301和第二终端302中的投屏源端可将其显示屏上显示的界面投射到投屏目的端显示屏上显示。如,以第一终端301作为投屏源端,第二终端302作为投屏目的端为例。第一终端301可将其显示屏上显示的界面或界面元素投射到第二终端302的显示屏上显示。
在本申请实施例中,对于投屏源端,如第一终端301显示的元素,第一终端301可通过重新确定该元素所在图层对应的几何变换矩阵,用于该图层在虚拟显示上的合成。重新确定的该几何变换矩阵能够尽可能的将该图层缩放到与虚拟显示的尺寸一致,使得被投射到投屏目的端,如第二终端302的元素能够最大化在第二终端302呈现给用户。
需要说明的是,本申请实施例中的终端,如上述第一终端301,又如上述第二终端302,可以为手机,平板电脑,手持计算机,PC,蜂窝电话,个人数字助理(personal digitalassistant,PDA),可穿戴式设备(如智能手表),车载电脑,游戏机,以及增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备等,本实施例对终端的具体形式不做特殊限制。另外,本实施例提供的技术方案除了可以应用于上述终端(或者说移动终端)外,还可以应用于其他电子设备,如智能家居设备(如电视机)等。其中,图3中以第一终端301为手机,第二终端302为电视机例示出。
在本实施例中,以终端为手机为例。请参考图4,为本申请实施例提供的一种手机的结构示意图。以下实施例中的方法可以在具有上述硬件结构的手机中实现。
如图4所示,手机可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193以及显示屏194等。可选的,手机还可以包括移动通信模块150,用户标识模块(subscriberidentification module,SIM)卡接口195等。
其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本实施例示意的结构并不构成对手机的具体限定。在另一些实施例中,手机可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是手机的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(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)接口,SIM接口,和/或USB接口等。
充电管理模块140用于从充电器接收充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为手机供电。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141也可接收电池142的输入为手机供电。
手机的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
当手机包括移动通信模块150时,移动通信模块150可以提供应用在手机上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在手机上的包括无线局域网(wireless localarea networks,WLAN)(如Wi-Fi网络),蓝牙(bluetooth,BT),全球导航卫星系统(globalnavigation satellite system,GNSS),调频(frequency modulation,FM),NFC,红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,手机的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
手机通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(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)等。在一些实施例中,手机可以包括1个或N个显示屏194,N为大于1的正整数。
手机可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。在一些实施例中,手机可以包括1个或N个摄像头193,N为大于1的正整数。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
手机可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。当有触摸操作作用于显示屏194,手机根据压力传感器180A检测所述触摸操作强度。手机也可以根据压力传感器180A的检测信号计算触摸的位置。
陀螺仪传感器180B可以用于确定手机的运动姿态。气压传感器180C用于测量气压。磁传感器180D包括霍尔传感器。手机可以利用磁传感器180D检测翻盖皮套的开合。加速度传感器180E可检测手机在各个方向上(一般为三轴)加速度的大小。距离传感器180F,用于测量距离。手机可以利用接近光传感器180G检测用户手持手机贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。环境光传感器180L用于感知环境光亮度。指纹传感器180H用于采集指纹。手机可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。温度传感器180J用于检测温度。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于手机的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
当手机包括SIM卡接口195时,SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和手机的接触和分离。手机可以支持1个或N个SIM卡接口,N为大于1的正整数。手机通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,手机采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在手机中,不能和手机分离。
以下以第一终端为手机,第二终端为电视机,手机作为投屏源端,电视机作为投屏目的端为例,结合附图对本申请实施例提供的投屏方法进行详细介绍。图5为本申请实施例提供的一种投屏方法的流程示意图。如图5所示,该方法可以包括:
S501、手机与电视机建立连接。
其中,手机与电视机之间建立连接的方式可以有多种。在一些实施例中,手机与电视机可以采用有线的方式建立连接。例如,手机与电视机可通过数据线建立有线连接。
在其他一些实施例中,手机与电视机可以采用无线的方式建立连接。其中,终端之间采用无线方式建立连接有两点要求,一个是终端之间互相知晓对端的连接信息,另一个是各终端具有传输能力。
其中,连接信息可以是终端的设备标识,如互联网协议(internet protocol,IP)地址,端口号或终端登录的账号等。终端登录的账号可以是运营商为用户提供的账号,如华为账号等。终端登录的账号还可以为应用账号,如微信TM账号、优酷TM账号等。终端具有传输能力可以是近场通信能力,也可以是长距离通信能力。也就是说,终端间,如手机与电视机建立连接采用的无线通信协议可以是如Wi-Fi协议或蓝牙协议或NFC协议等近场通信协议,也可以是蜂窝网协议。例如,用户可使用手机触碰电视机的NFC标签,手机读取该NFC标签中保存的连接信息,如该连接信息中包括电视机的IP地址。之后,手机可根据电视机的IP地址采用其他协议,如蓝牙协议与电视机建立连接。又例如,手机与电视机均打开了蓝牙功能和Wi-Fi功能。手机可广播蓝牙信号,以发现周围的终端,如手机可显示发现的设备列表,该发现设备列表中可包括手机发现的设备的标识,如包括电视机的标识。在手机进行设备发现的过程中也可与发现的设备互相交换连接信息,如IP地址。之后,在手机接收到用户在显示的设备列表中选择电视机的标识的操作后,手机根据电视机的IP地址,可采用Wi-Fi协议与电视机建立连接。再例如,手机和电视机均接入了蜂窝网,手机与电视机登录了同一华为账号。手机与电视机可根据该华为账号基于蜂窝网建立连接。
S502、手机获取手机当前显示的界面中图层1的标识和虚拟显示的标识。
在多终端协同使用时,一个终端(如手机)可作为投屏源端将当前显示界面或界面中的元素投射到作为投屏目的端的另一个终端(如电视机)的显示屏上显示。当前显示的界面可以为本申请实施例中的第一界面。
其中,图层1可以为需在投屏目的端(如电视机)进行最大化呈现的元素所在图层。图层1的标识可以是图层名称(layer Name)。图层1可以为本申请实施例中的第一图层。图层1的标识可以为本申请实施例中的第一标识。为了便于描述,以下实施例中将需在投屏目的端进行最大化呈现的元素简称为目标元素进行说明。目标元素可以为本申请实施例中的第一元素。
虚拟显示(VirtualDisplay)可以为在作为投屏源端的手机需将当前显示界面或界面的元素投射到投屏目标端时,创建的用于合成投屏内容的虚拟display。
在一些实施例中,目标元素可以是无线投屏场景下,界面中的预定元素,如视频元素等。例如,结合图6,如前述实施例的描述,考虑到在用户使用手机全屏观看视频(或者说横屏观看视频)时,如果所观看视频的宽高比与手机显示屏的宽高比不一致,则视频在手机上全屏展示时手机显示屏上会出现黑边,如视频的左右两侧存在黑边(如图6中的(a)所示),或视频的上下两侧存在黑边(如图6中的(b)所示),或上下左右四侧存在黑边(如图6中的(c)所示)。这会导致该视频投射到投屏目的端时也会存在黑边。因此,在无线投屏场景下,用于承载视频(或者说视频内容)的视频元素可以为上述目标元素。
在其他一些实施例中,目标元素可以是跨设备拖拽场景下,被用户拖拽的元素,如视频元素,画中画,悬浮窗等。在跨设备拖拽时,提供拖拽相关数据(如称为拖拽数据)的设备可以称为源端设备,接收拖拽相关数据的设备可以称为目标设备。源端设备(如手机)可作为投屏源端,将用户拖拽的元素所在图层在虚拟显示上合成后投射到作为投屏目的端的目标设备(如电视机)上显示。例如,结合图7,在跨设备拖拽时,由于如视频元素,画中画,悬浮窗等被用户拖拽的元素所在图层在虚拟显示合成后,可能并未铺满虚拟显示,如图7中的(a)所示,被拖拽的元素所在图层仅在横向上铺满虚拟显示,或如图7中的(b)所示,被拖拽的元素所在图层仅在纵向上铺满虚拟显示,或如图7中的(c)所示,被拖拽的元素所在图层在横向和纵向上均未铺满虚拟显示,这会导致被拖拽的元素在投屏目的端显示时会存在黑边(未铺满的区域显示到投屏目的端后会呈现为黑边)。因此,在跨设备拖拽场景下,被用户拖拽的如视频元素,画中画,悬浮窗等元素可以为上述目标元素。
其中,在无线投屏场景下,手机可通过查询命令查找到目标元素所在图层的图层名称。例如,以目标元素是华为视频中视频元素为例。手机可通过ADB命令,如adb shelldumpsys SurfaceFlinger,查询手机当前显示的界面(如华为视频的界面)中所有图层的图层名称。根据查找到的当前显示界面中所有图层的图层名称,手机可通过识别查找到的各图层名称的前缀(该前缀可以为本申请实施例中的第一前缀)确定上述目标元素,如视频元素所在图层的图层名称。如,视频元素所在图层的图层名称的前缀(或者说第一前缀)一般是surfaceview,因此,手机可将前缀为surfaceview的图层名称确定为目标元素所在图层(如称为图层1)的图层名称。
在跨设备拖拽场景下,手机可从拖拽数据中获取目标元素所在图层的图层名称。示例性的,用户拖拽元素的操作(该拖拽元素的操作可以为本申请实施例中的跨设备拖拽操作)通常可以包括对元素按下并移动的操作,也可以说是包括长按操作和移动操作。手机可预先在该元素上设置长按监听,用于监听长按操作对应的长按事件。在用户触发元素拖拽后,手机会生成对应的拖拽事件。在本实施例中,手机可在监听到长按事件后,从对应的拖拽事件中获取拖拽数据。其中,该拖拽数据中包括被拖拽的元素(或者说长按操作的对象,即目标元素)在当前显示界面中的图层名称。
例如,结合图8,以目标元素,或者说用户拖拽的元素是视频元素(如SurfaceView)为例。如图8中的(a)所示,手机的显示屏上显示有视频应用的界面,该界面中包括视频元素801,该视频元素801上预先设置有长按监听。在视频元素801中正在播放某视频(如视频X)。
用户在想要针对视频元素801执行拖拽时,可针对该视频元素801执行对应的拖起操作(如双击操作)。作为对该操作的响应,如图8中的(b)所示,视频元素801拖起。如,手机的窗口管理模块可将视频元素801进行缩小处理,还可进行背景虚化处理,并交由手机应用层的launcher显示缩小后的视频元素801。另外,在视频应用的界面中,可继续显示原视频元素进行视频播放(如图8所示,也即被拖起的视频元素801是手机复制的一个窗口),也可以不显示(图中未示出,也即被拖起的视频元素801就是原视频组件)。之后,在手机接收到用户拖拽该视频元素801的操作(包括长按操作和移动操作)后,手机(如手机应用层的三方应用,具体为视频应用)可在手机上触发针对该视频元素801的拖拽。如用户长按视频元素801并移动手指,可使得该视频元素801在手机显示屏上跟随用户手指的移动而移动,给用户以视频元素801被用户手指拖动的视觉效果。其中,视频元素801的拖拽方向可以是向上拖动,向左拖动,向右拖动,向下拖动。例如,如图8中的(c)所示,用户可使用手指对拖起后的视频元素801执行长按操作,并向右移动手指的操作。随着用户手指的移动,手机可绘制并显示视频元素801随用户手指移动的动画。
可以理解的是,在手机接收到用户拖拽该视频元素801的操作,即长按操作和移动操作后,手机的框架层会生成对应的拖拽事件,如拖拽开始事件,该拖拽开始事件中包括上述拖拽数据。另外,在用户对视频元素801进行长按操作后,在视频元素801上设置的长按监听可监听到对应长按事件。手机可以回调框架层生成的拖拽开始事件,以从拖拽开始事件中提取到上述拖拽数据。其中,该拖拽数据中包括视频元素801在当前显示界面中的图层名称。这样,手机便可获取到被拖拽的元素,即目标元素所在图层(如称为图层1)的图层名称。
如前述实施例的描述,虚拟显示是在投屏源端需将当前显示界面或界面的元素投射到投屏目标端时用于合成投屏内容的虚拟display。需要说明的是,本实施例对虚拟显示的创建时机并不做具体限制。例如,在无线投屏场景下,虚拟显示可以是在手机的投屏功能开启前(如手机开机时)创建的,也可以是在手机的投屏功能开启后创建的,还可以是手机与其他终端成功建立连接后创建的。在跨设备拖拽场景下,由于拖拽可分为跨设备拖拽和本地拖拽,虚拟显示可以是在确定此次拖拽是跨设备拖拽后创建的,也可以是在拖拽开始时(如监听到上述长按事件时)创建的。如果手机预先创建了多个虚拟显示,则在需要投屏时,手机可从预先创建的多个虚拟显示选择用于合成投屏内容的虚拟显示。在虚拟显示被创建(或选定)后,作为投屏源端的手机便可获得该用于合成投屏内容的虚拟显示的标识(如ID或名称)。
需要说明的是,在本实施例中,上述S501与上述S502均是为投屏做的准备工作,两者的执行没有先后顺序的限制。如,可以先执行S501,再执行S502,或者也可以先执行S502,再执行S501,或者还可以S501和S502同时执行。S501和S502可在投屏启动之前执行即可。
S503、在启动投屏后,手机在虚拟显示上合成投屏内容。
S504、手机向电视机发送投屏内容。
S505、电视机根据投屏内容在电视机的显示屏上显示投屏界面。
其中,在无线投屏场景下,手机可在接收到用于触发开始投屏的用户操作后,启动投屏。示例性的,该用户操作可以是开启手机的投屏服务功能的操作,如该用户操作可以是用户对手机设置界面中对投屏服务功能的开启按钮的点击操作。该用户操作也可以是用户对手机显示的确认投屏界面中确认按钮的点击操作。
在跨设备拖拽场景下,手机可在确定用户拖拽元素的意图是跨设备拖拽时,启动投屏。示例性的,在手机显示界面中的元素,如视频元素、画中画或悬浮窗被用户拖拽的过程中,手机可判断用户拖拽该元素的意图是否是跨设备拖拽,如果确定用户拖拽该元素的意图是跨设备拖拽,则可启动投屏。
例如,手机可设置拖拽感知区域来确定用户的拖拽意图是否是跨设备拖拽。拖拽感知区域可以是手机显示屏上距离显示屏边缘预定距离的区域。该预定距离可以是预先定义的,也可以提供设置界面供用户设置。终端(如手机)的拖拽感知区域可以是一个,也可以是多个。拖拽感知区域处设置有透明的视图(view)控件。在被拖拽的对象,如上述元素被拖入拖拽感知区域后,设置在对应区域的视图控件可监测到元素的拖入。在存在视图控件监测到元素拖入时,手机便可确定用户的拖拽意图是跨设备拖拽。如,结合图8所示示例,以在手机显示屏的四个边缘处分别设置有拖拽感知区域,每个拖拽感知区域处均设有透明的视图控件为例。在用户向右拖拽视频元素801后,该视频元素801可被拖拽到手机显示屏右边缘处设置的拖拽感知区域,该拖拽感知区域的视图控件可监测到视频元素801的拖入,基于此,手机可确定用户拖拽视频元素801的意图是跨设备拖拽,手机可启动投屏。
又例如,手机可以通过判断被拖拽的元素与显示屏边缘的距离来确定用户拖拽元素的意图是否是跨设备拖拽。如可在确定被拖拽元素的左上角,右上角,左下角和右下角中的某个角与显示屏的边缘的距离小于预定距离时,确定用户的拖拽意图是跨设备拖拽。如,结合图8所示示例,在用户向右拖拽视频元素801后,手机可判断该视频元素801的左上角,右上角,左下角和右下角中是否存在一个或多个角与显示屏的边缘的距离小于预定距离。在视频元素801被用户拖拽到手机显示屏右边缘附近时,手机可确定出视频元素801的右上角或右下角与显示屏的边缘的距离小于预定距离,基于此,手机可确定用户拖拽视频元素801的意图是跨设备拖拽,手机可启动投屏。
在启动投屏后,手机可在虚拟显示上进行投屏内容的合成。
示例性的,在无线投屏场景下,手机可将当前显示界面中各图层的内容作为投屏内容,合成到虚拟显示上。
可以理解的是,一个界面可包括一个或多个图层,每个图层上承载有一个或多个元素,这些元素在显示屏上呈现时,有各自的布局位置及大小要求。这些布局位置和大小要求可通过调整承载这些元素的图层的大小和位置来满足。如,以在手机的显示屏上显示界面,该界面包括上述图层1为例。手机可根据该界面各图层(包括图层1)的原始参数和对应的几何变换矩阵(如称为几何变换矩阵1)将各图层合成到手机的显示屏上,以实现各图层大小和位置的设置,进而使得各图层上承载的元素满足其对布局位置及大小要求。其中,各图层的原始参数和其对应的几何变换矩阵1是手机根据系统和应用自身的逻辑生成的。图层的原始参数记录了该图层的原始尺寸和合成时的起始位置。图层对应的几何变换矩阵记录了该图层的位移,缩放等几何信息。如,几何变换矩阵1包括偏移参数1和缩放参数1,偏移参数1用于指示在起始位置的基础上,对图层的位移量,缩放参数1用于指示在图层的原始大小的基础上,对图层的缩放量。几何变换矩阵1可以为本申请实施例中的第二几何变换矩阵。
如前述实施例的描述,在无线投屏场景下,对于目标元素,如视频元素而言,其会由于该视频元素承载的视频的尺寸与手机显示屏的尺寸不一致,导致其在手机显示屏上呈现时存在黑边。该呈现结果是手机根据该视频元素所在图层的原始参数和其对应的几何变换矩阵1将该图层合成到手机的显示屏后出现的。另外,虚拟显示上合成的投屏内容是发送给投屏目的端,用于投屏目的端通过投屏目的端的显示屏呈现给用户的。为了使得该视频元素所承载的视频在投射到投屏目的端后,能够最大化呈现(如去除黑边,或缩小黑边范围),在本实施例中,可在将当前显示界面中各图层的内容作为投屏内容,合成到虚拟显示的过程中,对于该目标元素所在图层(如上述图层1),采用几何变换矩阵2将其合成到虚拟显示上,而不采用该图层1对应的几何变换矩阵1。其中,几何变换矩阵2与该图层1对应的几何变换矩阵1不同,几何变换矩阵2可使得该图层1合成到虚拟显示上后,至少在一个方向上铺满虚拟显示,进而达到该图层1中承载的目标元素在投屏目的端的最大化呈现的效果。对于当前显示界面中的其他图层,如状态栏(status bar),其未包括需要在投屏目的端最大化呈现的元素(如其在手机上呈现时不存在黑边,即不需要去除或缩小黑边),则可采用该图层对应的几何变换矩阵1将其合成到虚拟显示上。
也就是说,手机将当前显示界面中各图层的内容作为投屏内容,合成到虚拟显示上,可以包括以下过程:
针对当前显示界面的每个图层,在将该图层的内容合成到虚拟显示的过程中,手机可先判断该图层的图层名称与S502中获取到的图层名称是否匹配。
其中,S502中获取到的图层名称是目标元素所在图层的图层名称。图层名称可以采用字符串来表示。当前合成的图层的图层名称是否与S502中获得的图层名称相匹配可以是两个字符串相等,也可以是两个字符串是包含关系,本实施例在此不做具体限制。
在该图层的图层名称与S502中获取到的图层名称不匹配的情况下,表明该图层中不包含需在投屏目的端最大化呈现的元素,手机可根据该图层的原始参数和对应的几何变换矩阵1,将该图层合成到虚拟显示上。并继续对下一个图层进行判断。
如果该图层的图层名称与S502中获取到的图层名称匹配,表明该图层中包括需要在投屏目的端进行最大化呈现的目标元素,即为上述图层1。手机可获取该图层1对应的几何变换矩阵2,再根据该图层1的原始参数和该几何变换矩阵2,将该图层1合成到在虚拟显示上。几何变换矩阵2可以为本申请实施例中的第一几何变换矩阵。
其中,以图层1包括一个元素,即目标元素为例。手机获取几何变换矩阵2的具体过程可包括以下步骤1-步骤4。
步骤1:手机获取图层1在虚拟显示上的初始显示区域,根据该初始显示区域第一角,如左上角的坐标,获取偏移参数2。其中,偏移参数2包括横向偏移量和纵向偏移量。该横向偏移量和纵向偏移量分别为该初始显示区域左上角相对于虚拟显示原点(或者说第一角,如虚拟显示的左上角)的坐标。
如上述实施例的描述,图层在屏幕(如手机显示屏(或称为主屏),或虚拟显示)上进行合成时,是利用该图层的原始参数(包括图层的原始尺寸和起始位置)和几何变换矩阵来确定其合成时的大小和位置的。
一般的,可将原始参数作为基准,通过调整几何变换矩阵,如调整几何变换矩阵中的偏移参数,以在图层的起始位置的基础上改变该图层合成到屏幕上的位置。本实施例可通过设置几何变换矩阵的偏移参数,使得图层1可在合成到虚拟显示上后,其第一角(如左上角)能够与虚拟显示的原点(如虚拟显示的左上角)重合。
其中,手机可先获取该图层1在虚拟显示上的初始显示区域,根据该初始显示区域第一角(如左上角)的坐标,获取偏移参数,本实施例中称为偏移参数2。
例如,结合图9,为本实施例提供的一种虚拟显示的显示坐标系的示意图。如图9中的(a)所示,该显示坐标系的坐标原点为虚拟显示的左上角,X轴从坐标原点指向虚拟显示的右边缘,Y轴从坐标原点指向虚拟显示的下边缘。如果手机根据图层1的原始参数,即起始位置和原始尺寸,将该图层1合成到虚拟显示上,则图层1将被合成到图9中的(a)所示的位置,该区域可以为上述初始显示区域。如果将图9中的(a)中所示的合成结果作为投屏内容投射到投屏目的端,则图9中的(a)所示的空白区域,在投屏目的端将会呈现为黑边。因此,在本实施例中,手机可根据该图层1的原始参数,即图层1的原始尺寸和起始位置,获取该图层1在虚拟显示上的初始显示区域。之后,手机可获取在该虚拟显示的显示坐标系中,该初始显示区域的第一角,如左上角的坐标,如(x1,y1)。手机可以将该坐标(x1,y1)分别确定为偏移参数2的横向偏移量和纵向偏移量。如横向偏移量为x1,纵向偏移量为y1。这样,如果根据该图层1的原始尺寸和起始位置,以及具有该偏移参数2的几何变换矩阵,将该图层1合成到虚拟显示上,则该图层1可从图9中的(a)所示的位置,分别在横向和纵向上进行x1,y1偏移后,被合成到图9中的(b)所示位置,即图层1和虚拟显示的左上角重合。
另外,可将图层的原始参数作为基准,通过调整几何变换矩阵,如调整几何变换矩阵中的缩放参数,以在图层的初始尺寸的基础上改变该图层合成到屏幕上的尺寸。本实施例可通过设置几何变换矩阵的缩放参数,使得图层1可在合成到虚拟显示上后,至少在一个方向(如横向,或纵向,或横向和纵向)上铺满虚拟显示。具体的,包括以下步骤2和步骤3。
步骤2:手机获取该图层1中目标元素的宽和高,以及虚拟显示的宽和高。
示例性的,图层1的结构体中可保存有该图层1中各元素的宽和高,如图层1中包括目标元素,则手机可从图层1的结构体中获取到的目标元素的宽和高。图层1的结构体可以是手机在手机的显示屏上显示包含该图层1的界面时生成并保存在手机中。其中,可用elementWidth来表示目标元素的宽,elementHeight来表示目标元素的宽。
手机还可获取用于合成投屏内容的虚拟显示的宽和高。虚拟显示的宽和高可是手机在创建虚拟显示时自动创建的,也可以是预定义的。其中,可用displayWidth来表示虚拟显示的宽,displayHeight来表示虚拟显示的宽。
步骤3:手机根据目标元素的宽和高,以及虚拟显示的宽和高,确定缩放参数2。
在一些实施例中,可以进行等比缩放,则确定的缩放参数2为R,其中:
R=Min(displayWidth/elementWidth,displayHeight/elementHeight)
也就是说,可分别确定虚拟显示的宽和目标元素的宽,及虚拟显示的高和目标元素的高的比值,取较小值为最终的缩放参数R。
在另外一些实施例中,也可以进行满屏缩放,则确定的缩放参数2可以包括横向缩放参数Rw和纵向缩放参数Rh,其中:
Rw=displayWidth/elementWidth,Rh=displayHeight/elementHeight
也就是说,可确定虚拟显示的宽和目标元素的宽的比值,将该比值作为横向缩放参数Rw,确定虚拟显示的高和目标元素的高的比值,将该比值作为纵向缩放参数Rh。
其中,虚拟显示的宽和目标元素的宽的比值可以为本申请实施例中的第一值,虚拟显示的高和目标元素的高的比值可以为本申请实施例中的第二值。
步骤4:手机根据偏移参数2和缩放参数2,获取几何变换矩阵2。
之后,手机可根据图层1的原始参数和获取到的几何变换矩阵2,将该图层1合成到虚拟显示上。
其中,可以理解的是,在进行等比缩放的场景下,如果手机根据该图层1的原始尺寸和起始位置,以及具有偏移参数2和缩放参数R的几何变换矩阵,即几何变换矩阵2,将图层1合成到虚拟显示上,则该图层1可以虚拟显示的原点(如虚拟显示的左上角)为坐标原点,至少可以在一个方向(如横向,或纵向,或横向和纵向)上铺满虚拟显示。
例如,结合图9和图10,以继续以图层1仅包括目标元素,目标元素的宽和虚拟显示的宽的比值:displayWidth/elementWidth=a;目标元素的高和虚拟显示的高的比值:displayHeight/elementHeight=b为例。
如,手机先在该图层1的原始尺寸和起始位置的基础上,对该图层1按照偏移参数2进行了偏移,偏移后该图层1合成到虚拟显示的位置如图9中的(b)所示。之后,手机可根据缩放参数R,对偏移后的图层1进行缩放。
如果a=b,即确定出的缩放参数R=a=b,则手机根据该缩放参数R=a=b对图层1在横向和纵向上进行等比缩放后,如图10中的(a)所示,图层1可以虚拟显示的左上角为坐标原点,在横向和纵向上铺满虚拟显示。即图层1中的目标元素可以虚拟显示的左上角为坐标原点,在横向和纵向上铺满虚拟显示。
如果a>b,即确定出的缩放参数R=b,则手机根据该缩放参数R=b对图层1在横向和纵向上进行等比进行缩放后,如图10中的(b)所示,图层1可以虚拟显示的左上角为坐标原点,在纵向上铺满虚拟显示。即图层1中的目标元素可以虚拟显示的左上角为坐标原点,在纵向上铺满虚拟显示。
如果a<b,即确定出的缩放参数R=a,则手机根据缩放参数R=a对图层1在横向和纵向上进行等比进行缩放后,如图10中的(c)所示,图层1可以虚拟显示的左上角为坐标原点,在横向上铺满虚拟显示。即图层1中的目标元素可以虚拟显示的左上角为坐标原点,在横向上铺满虚拟显示。
这样,在将图10中的合成结果作为投屏内容投射到投屏目的端后,该图层1中的目标元素可最大化呈现在投屏目的端的显示屏上。
可以理解的是,由于对图层1在横向和纵向上进行的是等比缩放,因此,图层1中的目标元素所呈现的内容不会被拉伸。另外,可以看到的是,在a不等b时,可能会存在图层1仅在一个方向(如横向或纵向)上铺满虚拟显示,如果将其(如图10中的(b)或图10中的(c)的合成结果)作为投屏内容投射到投屏目的端,则图10中的(b)和图10中的(c)所示的空白区域,在投屏目的端将会呈现为黑边。经过上述处理后,虽然对应内容投射到投屏目标端会存在黑边,但是由于上述处理可尽可能的将图层缩放到与虚拟显示尺寸一致,这样一来,能够缩小投射到投屏目的端的内容的黑边范围,也能达到对应内容在投屏目的端最大化呈现的效果。
另外,在a>b情况下,如果将图10中的(b)所示的合成结果作为投屏内容投射到投屏目的端,投屏目的端呈现的效果是目标元素的一侧(右侧)会存在黑边。因此,在本实施例中,进一步的,还可以对上述偏移参数2在横向上按照偏移量,如dx进行向右的偏移。其中,在横向上的偏移量dx=(displayWidth-elementWidth*R)/2。这样,在采用具有偏移参数2+dx和缩放参数2的几何变换矩阵,将图层1合成到虚拟显示上后,可以使得图层1在虚拟显示上合成到如图11中的(a)所示的位置(即在横线上居中显示),且在纵向上铺满虚拟显示。类似的,在a<b的情况下,如果将图10中的(c)中所示的合成结果作为投屏内容投射到投屏目的端,投屏目的端呈现的效果是目标元素的一侧(下侧)会存在黑边。因此,在本实施例中,进一步的,还可以对上述偏移参数2在纵向上按照偏移量,如dy进行向下的偏移。其中,在纵向上的偏移量dy=(displayHeight–elementHeight*R)/2。这样,采用具有偏移参数2+dy和缩放参数2的几何变换矩阵,将图层1合成到虚拟显示上后,可使得该图层1在虚拟显示上合成到如图11中的(b)所示的位置(即在纵向上居中显示),且在横向上铺满虚拟显示。
其中,在进行满屏缩放的场景下,如果手机根据该图层1的原始尺寸和起始位置,以及具有偏移参数2,横向缩放参数Rw和纵向缩放参数Rh的几何变换矩阵,即几何变换矩阵2,将图层1合成到虚拟显示上,则该图层1可以虚拟显示的原点(如虚拟显示的左上角)为坐标原点,铺满虚拟显示。即图层1中的目标元素可以虚拟显示的左上角为坐标原点,铺满虚拟显示。
可以理解的是,以横向缩放参数Rw=displayWidth/elementWidth=a;纵向缩放参数Rh=displayHeight/elementHeight=b为例。当a=b时,图层1中的目标元素所呈现的内容可在不被拉伸的情况下,铺满虚拟显示。当a>b时,图层1中的目标元素所呈现的内容被横向拉伸的情况下,铺满虚拟显示。当a<b时,图层1中的目标元素所呈现的内容被纵向拉伸的情况下,铺满虚拟显示。
在对当前显示界面的每个图层根据其原始参数和对应的几何变换矩阵(如几何变换矩阵1或几何变换矩阵)合成到虚拟显示上后,手机便可获得对应的投屏内容。手机可将该投屏内容发送给投屏目的端。如手机可获取该投屏内容的数据,可称为投屏数据。之后,手机可将投屏数据进行编码后发送给作为投屏目的端的电视机。电视机可接收到对应数据,对该数据进行解码后便可获得投屏数据。电视机在获得投屏数据后,可根据该投屏数据,绘制对应界面(如该界面的内容与目标元素所呈现的内容相同)并显示在电视机的显示屏上。电视机显示的即为投屏内容。由于投屏内容是虚拟显示上的内容,该内容在合成时,目标元素所在图层已可尽可能缩放到与虚拟显示尺寸一致,因此,在电视机上可最大化呈现给用户。
以上实施例是以在将图层合成到虚拟显示上时,可确定该图层的图层名称与S502中获取到的图层名称相匹配的情况下,采用几何变换矩阵2,而不采用该图层1对应的几何变换矩阵1将其合成到虚拟显示上为例进行说明的。在其他一些实施例中,考虑到手机可能会存在多个虚拟显示,因此手机在将图层合成到虚拟显示上时,可判断该图层的图层名称和该图层需要合成到的虚拟显示的标识(如ID或名称),分别与S502中获取到的图层名称和虚拟显示的标识是否相匹配。只有在图层名称和虚拟显示的标识均匹配的情况下,才采用几何变换矩阵2将其合成到虚拟显示上。其中,虚拟显示的标识,如ID或名称也可以采用字符串来表示。图层要合成到的虚拟显示的标识是否与S502中获得的虚拟显示的标识相匹配可以是两个字符串相等,也可以是两个字符串是包含关系,本实施例在此不做具体限制。
需要说明的是,以上是以在无线投屏场景下,将当前显示界面中的所有图层都作为投屏内容在虚拟显示上进行合成为例进行说明的。在其他一些实施例中,在无线投屏场景下,也可以仅将当前显示界面中的一个或多个图层作为投屏内容在虚拟显示上进行合成。在这样的实施例中,可只针对作为投屏内容的图层进行上述合成处理,其他图层不参与合成。其中,作为投屏内容的图层,即在虚拟显示中参与合成的图层可以是预先定义的,也可以是应用开发人员指定的,还可以是手机识别出来的(如手机可仅识别出目标元素所在图层进行上述合成处理,其他图层不参与合成)。
又示例性的,在跨设备拖拽场景下,手机可将当前显示界面中用户拖拽的元素所在图层的内容作为投屏内容,合成到虚拟显示上。其中,具体的合成处理过程与上述无线投屏场景下图层的合成过程类似,此处不再一一赘述。区别在于,手机在确定出图层的图层名称与S502中获取到的图层名称不匹配的情况下,不将该图层合成到虚拟显示上。
以下结合场景,对S501-S505进行举例介绍。
例如,结合图6,用户使用手机全屏观看视频(或者说横屏观看视频)。视频在手机上显示时存在黑边。如,左右两侧存在黑边,或上下两侧存在黑边,或上下左右四侧都有黑边。手机通过ADB命令可查找到显示界面中用于呈现该视频的视频元素所在图层(如称为图层A)的标识(如为图层名称A)。手机还可获取虚拟显示的标识(如为标识B),该虚拟显示可称为虚拟屏B。该虚拟屏B用于无线投屏场景下投屏内容的合成。
用户触发无线投屏后,手机可启动投屏。在投屏启动后,手机将手机显示屏上当前显示界面中各图层的内容作为投屏内容,合成到虚拟屏B。如图6所示示例可知,当前显示界面包括视频元素的图层A,且以图层A只包括该视频元素为例。在手机进行数据合成的过程中,手机可匹配当前合成的图层的图层名称与用于合成图层的虚拟屏的标识是否分别为图层名称A和标识B。
如果当前合成的图层的图层名称与图层名称A不匹配,和/或,虚拟屏的标识与标识B不匹配,则表明当前图层不是上述图层A或者当前数据合成不是用来进行无线投屏的,手机可根据该图层的原始参数和对应的几何变换矩阵1,将该图层合成到对应虚拟屏,并继续对下一个图层进行匹配。
如果当前合成的图层的图层名称与图层名称A相匹配,且虚拟屏的标识与标识B相匹配,则表明当前图层为包括视频元素的图层,即上述图层A,且当前是进行无线投屏的。手机可获取图层A在虚拟屏B上的初始显示区域,如称为区域V。手机根据该区域V的左上角的坐标获取偏移参数2。其中,偏移参数2包括的横向偏移量和纵向偏移量分别为该区域V的左上角相对于虚拟显示左上角的坐标。在采用具有该偏移参数2的几何变换矩阵将图层A合成到虚拟屏B上后,如图12中的(a)所示,图层A,即图层A的视频元素(如图中所示的视频画面)的左上角可与虚拟屏B的左上角重合。手机可从图层A的结构体中获取图层A中视频元素的宽(videoWidth)和高(videoHeight)。手机还可获取虚拟屏B的宽(displayWidth)和高(displayHeight)。根据视频元素的宽和高,以及虚拟屏B的宽和高,手机可确定缩放参数2。如,以进行等比缩放为例,手机可确定缩放参数2为R=Min(displayWidth/videoWidth,displayHeight/videoHeight)。手机根据偏移参数2和缩放参数2,可获得几何变换矩阵2。如以displayWidth/videoWidth=displayHeight/videoHeight为例,手机可根据图层A的原始参数和获取到的几何变换矩阵2,将图层A合成到虚拟屏B上。在将图层A合成到虚拟屏B上后,如图12中的(b)所示,图层A,即图层A中的视频元素(如图中所示的视频画面)可以虚拟屏B的左上角为坐标原点,在横向和纵向上铺满虚拟屏B。且图层A在横向和纵向上进行等比缩放的,因此,视频画面不会被拉伸。
在对手机显示屏上当前显示界面的每个图层均根据其原始参数和对应的几何变换矩阵(如几何变换矩阵1或几何变换矩阵2)合成到虚拟屏B上后,手机便可获得对应的投屏内容。手机可将该投屏内容发送给投屏目的端,如电视机。电视机接收到该投屏内容后,可根据该投屏内容绘制对应的视频画面,并在电视机上显示。如电视机可提供一个全屏view来实现视频画面在电视机上的显示。其中,在进行等比缩放时,手机创建的虚拟显示的宽高比与该全屏view的宽高比可保持一致。可以理解的是,结合上述图12所示示例,电视机上呈现的是等比缩放的视频内容。且如图13所示,电视机可显示没有黑边的视频画面,实现视频画面在投屏目的端的最大化呈现。
需要说明的是,以上示例是以无线投屏场景下,对需要处理图层进行等比缩放为例进行说明的,也可以对需要处理的图层进行满屏缩放,本实施例在此不做具体限制。
又例如,结合图8,用户使用手机的视频应用观看视频时,对呈现该视频的视频元素执行了拖拽操作。在跨设备拖拽的场景下,该视频元素所在图层不能铺满对应虚拟显示(如图7中所示,在横向上不能铺满,或在纵向上不能铺满,或在横向和纵向上均不能铺满)。上述视频元素预先设置了长按监听。
用户在对该视频元素执行拖拽操作(可包括长按操作和移动操作)后,手机可生成拖拽事件。另外,手机还可利用视频元素上设置的长按监听,监听到长按操作对应的长按事件。手机监听到长按事件后,可从拖拽事件中获取拖拽数据,如可通过SurfaceView的接口获取拖拽数据,该拖拽数据中包括被拖拽的该视频元素在当前界面中所在图层(如称为图层A')的图层名称(如为图层名称A')。在监听到长按事件后,手机还可创建虚拟显示,如将该虚拟显示称为虚拟屏B'。该虚拟屏B'用于跨设备拖拽场景下投屏内容的合成。在手机确定了用户的拖拽意图是跨设备拖拽后,手机可启动投屏。
在投屏启动后,手机将手机显示屏上当前显示界面中的图层A'合成到虚拟屏B'。在手机进行数据合成的过程中,手机可匹配当前合成的图层的图层名称与用于合成图层的虚拟屏的标识是否分别为图层名称A'和标识B'。
如果当前合成的图层的图层名称与图层名称A'不匹配,和/或,虚拟屏的标识与标识B'不匹配,则表明当前图层不是上述图层A'或者当前数据合成不是用来进行跨设备拖拽的投屏的,手机可不对该图层进行合成处理,继续对下一个图层进行匹配。
如果当前合成的图层的图层名称与图层名称A'相匹配,且虚拟屏的标识与标识B'相匹配,则表明当前图层为包括上述视频元素的图层,即为图层A',且当前是进行跨设备拖拽的投屏的。手机可获取图层A'在虚拟屏B上的初始显示区域,如称为区域V'。手机根据该区域V'的左上角的坐标获取偏移参数2。其中,偏移参数2包括的横向偏移量和纵向偏移量分别为该区域V'的左上角相对于虚拟显示左上角的坐标。在采用具有该偏移参数2的几何变换矩阵将图层A合成到虚拟屏B上后,图层A',即图层A'的视频元素的左上角可与虚拟屏B'的左上角重合。手机可从图层A'的结构体中获取图层A'中视频元素的宽(videoWidth)和高(videoHeight)。手机还可获取虚拟屏B'的宽(displayWidth)和高(displayHeight)。根据视频元素的宽和高,以及虚拟屏B'的宽和高,手机可确定缩放参数2。如,以进行满屏缩放为例,手机可确定横向缩放参数Rw=displayWidth/videoWidth和纵向缩放参数Rh=displayHeight/videoHeight。手机可根据偏移参数2,横向缩放参数Rw和纵向缩放参数Rh,获得几何变换矩阵2。手机可根据图层A'的原始参数和获取到的几何变换矩阵2,将图层A'合成到虚拟屏B'上。在将图层A'合成到虚拟屏B'上后,图层A',即图层A'中的视频元素可以虚拟屏B'的左上角为坐标原点,在横向和纵向上铺满虚拟屏B'。
在将包含用户拖拽的视频元素的图层'合成到虚拟屏B后,手机便可获得对应的投屏内容。手机可将该投屏内容发送给投屏目的端,如电视机。这样,电视机在接收到投屏内容后,电视机可根据投屏内容实现该视频元素所承载的视频X在电视机上的显示。且如图14所示,电视机可在电视机当前界面上悬浮显示没有黑边的视频X,实现视频画面在投屏目的端的最大化呈现。如电视机可提供一个Surfaceview来实现视频X在电视机上的显示。其中,在进行满屏缩放时,手机创建的虚拟显示的宽高比与该Surfaceview的宽高比可保持一致。
另外,在本示例中,为了能够提高用户跨设备拖拽时的跟手体验,手机可以在接收到用户的拖拽释放操作后,在电视机端显示图14所示的视频X。可以理解的是,在用户拖拽的过程中,会存在被拖拽的对象,如视频元素的部分区域显示在手机的显示屏上,另一部分区域被隐藏(或者说溢出显示屏)的情况。为了给用户该对象从手机拖拽到电视机的视觉效果,在该对象被拖拽的过程中,如果该对象的部分区域溢出显示屏,则可在手机和电视机上同时显示该对象,具体的被拖拽的对象,一部分区域显示在手机上,另一部分区域(溢出手机的区域)显示在电视机上。且在本实施例中,电视机上显示该对象溢出手机显示屏的区域时,使用的投屏内容中目标元素所在图层也是采用上述几何变换矩阵2合成的,因此显示的部分区域的视频X也是不存在黑边的。
作为一种示例,结合图15,在拖拽过程汇中,实现在手机和电视机上同时显示被拖拽的对象(如视频元素)的具体实现可以是:手机不仅需向电视机发送上述投屏内容,还需向电视机发送该视频元素的矩形(rect)信息,及在拖拽过程中该视频元素某个角(如左上角,左下角,右上角和右下角中的任意一个角)的坐标信息。其中,视频元素的矩形信息包括开始拖拽时视频元素的左上角、右上角、左下角和右下角四个角的坐标信息。这样,电视机根据视频元素的矩形信息,拖拽过程中该视频元素某个角的坐标信息及手机的分辨率,可判断该视频元素所呈现的视频X 1501是否存在区域溢出手机显示屏1503。如果该视频元素所呈现的视频X 1501存在区域溢出手机显示屏1503时,则电视机可根据视频元素的矩形信息,拖拽过程中该视频元素某个角的坐标信息及手机的分辨率确定能够在电视机的显示屏1502上对应显示的该视频元素的区域的信息(该区域与对象溢出手机显示屏1503的区域内容相同)。其中,手机的分辨率可以是电视机在与手机建立连接的过程中,或连接建立成功后手机发送给平板电脑的。电视机根据确定出的区域的信息和投屏内容,将该视频元素所承载的视频X的对应区域的内容1504在电视机的显示屏1502上显示,且不存在黑边,实现了视频画面在投屏目的端的最大化呈现。
需要说明的是,以上示例是以跨设备拖拽场景下,对需要处理图层进行满屏缩放为例进行说明的,也可以对需要处理的图层进行等比缩放,本实施例在此不做具体限制。跨设备拖拽场景下,拖拽画中画,悬浮窗时的具体实现与上述拖拽视频元素的具体实现类似,也可以实现画中画,悬浮窗对应内容在投屏目的端的最大化呈现,本实施例此处不在详细赘述。
以上实施例是以根据目标元素所在的图层在虚拟显示上的初始显示区域,确定偏移参数2,根据目标元素的宽高和虚拟显示的宽高,确定缩放参数2,以实现目标元素在投屏目的端的最大化呈现为例进行说明的。在其他一些实施例中,也可以根据目标元素的矩形信息确定偏移参数2和缩放参数2,实现目标元素在投屏目的端的最大化呈现。具体实现过程与上述实施例中S501-S505的实现类似,区别在于:
1、S502中可不获取图层1的标识,可在S502中手机获取目标元素的矩形(rect)信息。目标元素对应的矩形信息包括目标元素的左上角、右上角、左下角和右下角四个角的在虚拟显示的显示坐标系下的坐标信息。其中,目标元素对应的矩形信息可通过如下方式获得:如,目标元素对应的矩形信息可以是预先定义的,如由应用的开发人员预先定义并存储在手机中,具体的可默认定义为该目标元素在手机显示屏上所处区域的信息。又如,在跨设备拖拽场景中,目标元素的矩形信息可以是用户触发拖拽后,手机根据用户的操作识别出来的,如用户框选了被拖拽的对象,则该矩形信息可根据用户所框选的区域确定。再如,目标元素对应的矩形信息也可以是手机自动识别出来的,如手机可获取当前界面的截图,对该截图进行识别可识别出目标元素所在的区域,从而确定出目标元素对应的矩形信息。
2、S503中在启动投屏后,合成投屏内容的过程中,对于当前显示界面的所有图层,手机均根据几何变换矩阵2实现其在虚拟显示上的合成。其中,几何变换矩阵2包括的偏移参数,即横向偏移参数和纵向偏移参数分别为该目标元素对应矩形信息中第一角,如左上角相对于虚拟显示的原点(或者说第一角,如虚拟显示的左上角)的坐标。另外,手机是根据该矩形信息对应矩形的宽和高,以及虚拟显示的宽和高确定缩放参数。如,矩形信息对应矩形的宽(如用rcetWidth表示)可以为矩形信息中右上角在X轴上的坐标值(如x1)与左上角在X轴上的坐标值(如x2)的差值,即rcetWidth=x1-x2。矩形信息对应矩形的高(如用rcetHeight表示)为矩形信息中左下角在Y轴上的坐标值(如y1)与左上角在Y轴上的坐标值(如y2)的差值,即rcetHeight=y1-y2。用displayWidth来表示虚拟显示的宽,displayHeight来表示虚拟显示的宽。缩放参数可以包括横向缩放参数Rw和纵向缩放参数Rh,横向缩放参数Rw=displayWidth/rcetWidth,纵向缩放参数Rh=displayHeight/rcetHeight。本实施例可将这种处理方式称为裁剪缩放。
其他描述与S501-S505的对应描述类似,此处不在一一赘述。这种裁剪缩放的处理方式可将视频元素本身就存在的黑边去除掉(如哔哩哔哩TM的视频元素在设计是就存在黑边)。另外,需要说明的是,裁剪缩放的处理方式中,也可以在S502中获取图层的图层1的标识,且在后续处理时仅针对该图层1进行对应处理,本实施例此处不做限制。
例如,结合图16,在跨设备拖拽的场景下,如图16中的(a)所示,用户使用手机的图库应用编辑图片1601时,对承载该图片1601的view(或者说画布)执行了拖拽操作。该view预先设置了长按监听。
用户在对该view执行拖拽操作(可包括长按操作和移动操作)后,手机可生成拖拽事件。另外,手机还可利用view上设置的长按监听,监听到长按操作对应的长按事件。手机监听到长按事件后,可从拖拽事件中获取拖拽数据,该拖拽数据中包括该view的矩形信息。在监听到长按事件后,手机还可创建虚拟显示,如将该虚拟显示称为虚拟屏C,其标识为标识C。该虚拟屏C用于跨设备拖拽场景下投屏内容的合成。在手机确定了用户的拖拽意图是跨设备拖拽后,手机可启动投屏。
在投屏启动后,手机将手机显示屏上当前显示界面中所有图层合成到虚拟屏C。在手机进行数据合成的过程中,手机可匹配用于合成图层的虚拟屏的标识是否为标识C。
如果当前用于合成的虚拟屏的标识与标识C不匹配,则表明当前数据合成不是用来进行跨设备拖拽的投屏的,手机可在根据该图层的原始参数和对应的几何变换矩阵1将该图层合成到对应的虚拟显示,并继续对下一个图层进行匹配。
如果当前用于合成的虚拟屏的标识与标识C相匹配,则表明当前合成是用于进行跨设备拖拽的投屏的。手机可根据view的矩形信息的左上角的坐标确定偏移参数2。其中,偏移参数2包括的横向偏移量和纵向偏移量分别为该view的左上角相对于虚拟屏C左上角的坐标。在采用具有该偏移参数2的几何变换矩阵将图层合成到虚拟屏C上后,图层的view的左上角可与虚拟屏C的左上角重合。手机可根据view的矩形信息确定rect的宽和高,手机还可获取虚拟屏C的宽和高。根据rect的宽和高,及虚拟屏C的宽和高,手机可确定缩放参数。如,以进行裁剪缩放为例,手机可确定横向缩放参数Rw=displayWidth/rectWidth和纵向缩放参数Rh=displayHeight/rectHeight。手机可根据偏移参数2,横向缩放参数Rw和纵向缩放参数Rh,获得几何变换矩阵2。手机根据该图层的原始参数和获取到的几何变换矩阵2,将该图层合成到虚拟屏C上。在将图层合成到虚拟屏C上后,图层中的view可以显示屏C的左上角为坐标原点,在横向和纵向上铺满虚拟屏C。
在当前显示界面中所有图层均根据其原始参数和对应的几何变换矩阵2合成到虚拟屏C上后,手机便可获得对应的投屏内容。手机可将该投屏内容发送给投屏目的端,如平板电脑。这样,平板电脑在接收到投屏内容后,可根据投屏内容实现该view所承载的图片在平板电脑上的显示。且如图16中的(b)所示,平板电脑可在平板电脑上显示裁剪后的图片1602,实现图片在投屏目的端的最大化呈现。如平板电脑可提供一个全屏view来实现图片在平板电脑上的显示。其中,在进行裁剪缩放时,手机创建的虚拟显示的宽高比与该全屏view的宽高比可保持一致。
另外,类似于拖拽视频元素示例中的描述,在该图片被拖拽的过程中,如果该图片的部分区域溢出手机显示屏,则可在手机和平板电脑上同时显示该图片,具体的被拖拽的图片,一部分区域显示在手机上,另一部分区域(溢出手机的区域)显示在平板电脑上。其具体的实现与拖拽视频元素示例中对应的实现类似,且在该实施例中在手机和平板电脑上同时显示的是裁剪后的图片,以提高用户跨设备拖拽时的跟手体验。
需要说明的是,以上示例是以在无线投屏场景中,使用等比缩放(处理方式1)来实现对应内容在投屏目的端的最大化呈现;在跨设备拖拽视频元素、画中画及悬浮窗场景中,使用满屏缩放(处理方式2)来实现对应内容在投屏目的端的最大化呈现,在跨设备拖拽图片或无法识别出图层中目标元素场景中,以裁剪缩放(处理方式3)来实现对应内容在投屏目的端的最大化呈现为例进行说明的。在实际实现时,不同场景所使用的处理方式不仅限于上述示例,可选择这三种处理方式中的任意一种。或者,可以在对应场景下,预先设定对应的处理方式来对需要处理的图层进行处理。
如,手机可预先配置有这三种处理方式对应的处理能力,如分别可称为等比缩放能力,满屏缩放能力和裁剪能力。手机调用对应能力时,可执行上述步骤1-步骤4,获得对应的几何变换矩阵2。还可在手机中预先配置对应的处理模式,如分别称为等比缩放模式,满屏缩放模型和裁剪模式。在无线投屏场景下,可设置(如用户设置或默认设置)处理模式为等比缩放模式。这样,在手机需要进行无线投屏时,可调用等比缩放能力,去除需投屏的元素,如视频元素所呈现视频一个方向或两个方向上的黑边,不仅保证了视频不会被缩放,保证了视频的长宽比,还可实现对应内容在投屏目的端的最大化呈现。在跨设备拖拽视频元素、画中画及悬浮窗场景下,可设置(如用户设置或默认设置)处理模式为满屏缩放模式。这样,在进行跨设备的元素拖拽时,可调用满屏缩放能力,去除需投屏的元素,如视频元素、画中画或悬浮窗所呈现视频两个方向上的黑边,以实现对应内容在投屏目的端的最大化呈现。在跨设备拖拽图片或无法识别出图层中目标元素的场景下,可设置(如用户设置或默认设置)处理模式为裁剪模式。这样,在对应场景下,可调用裁剪能力,裁剪出对应内容投射到投屏目的端,以实现对应内容在投屏目的端的最大化呈现。另外,以上示例均是以识别出目标元素所在图层,对其进行相应的处理为例进行说明的。在其他一些实施例中,也可以对指定图层进行处理。如可以由应用开发人员指定,也可以由系统开发人员指定。类似的,也可以对指定虚拟显示上合成的图层进行处理,如可以由系统开发人员指定虚拟显示。本实施例在此并不做具体限制。
采用本实施例提供的方法,对于投屏源端显示的元素,可通过重新确定该元素所在图层对应的几何变换矩阵,用于该图层在虚拟显示上的合成,由于重新确定的该几何变换矩阵能够尽可能的将该图层缩放到与虚拟显示的尺寸一致,因此可使得被投射到投屏目的端的元素能够最大化在投屏目的端呈现给用户。例如,在投屏源端显示的元素存在黑边的情况下,通过尽可能的将该元素所在图层缩放到与虚拟显示的尺寸一致,可使得该图层尽可能的铺满虚拟显示,以去除或缩小投屏到投屏目的端的元素的黑边,从而使得被投射到投屏目的端的元素在投屏目的端最大化呈现。提高了用户的使用体验。
图17为本申请实施例提供的一种投屏装置的组成示意图。如图17所示,该装置可以应用于第一终端(如上述手机),第一终端与第二终端连接,该装置可以包括:显示单元1701和发送单元1702。
显示单元1701,用于在第一终端的显示屏上显示第一界面,该第一界面包括第一图层,该第一图层包括第一元素。
发送单元1702,用于在启动投屏后,向第二终端发送投屏内容。
其中,该投屏内容包括第一元素所在的第一图层,第一图层是根据第一几何变换矩阵合成到虚拟显示上的,第一几何变换矩阵包括用于对第一图层进行偏移的偏移参数和用于对第一图层进行缩放的缩放参数,以使得第一图层至少在一个方向上铺满虚拟显示,第一几何变换矩阵与第二几何变换矩阵不同,第二几何变换矩阵是在第一终端的显示屏上合成第一图层时所使用的矩阵。其中,上述第一元素可以是需要在第二终端进行最大化呈现的元素。
进一步的,该装置还可以包括:获取单元1703和合成单元1704。
获取单元1703,用于获取第一标识,该第一标识是第一图层的标识;获取第一几何变换矩阵。
合成单元1704,用于根据第一标识,将第一图层采用第一几何变换矩阵合成到虚拟显示上。
进一步的,获取单元1703获取第一几何变换矩阵,可以包括:获取单元1703获取第一图层在虚拟显示上的初始显示区域;根据初始显示区域的第一角相对于虚拟显示的第一角的坐标,获取偏移参数;根据第一元素的宽和高,及虚拟显示的宽和高,获取缩放参数;根据偏移参数和缩放参数获取第一几何变换矩阵。
进一步的,上述缩放参数可以包括横向缩放参数和纵向缩放参数;横向缩放参数和纵向缩放参数均为第一比值与第二比值中的最小值;或,横向缩放参数为第一比值,纵向缩放参数为第二比值。其中,第一比值为虚拟显示的宽与第一元素的宽的比值,第二比值为虚拟显示的高与第一元素的高的比值。
进一步的,获取单元1703获取第一几何变换矩阵,可以包括:获取单元1703获取第一元素对应的矩形信息;根据矩形信息中的第一角相对于虚拟显示的第一角的坐标,获取偏移参数;根据矩形信息对应矩形的宽和高,及虚拟显示的宽和高,获取缩放参数;根据偏移参数和缩放参数获取第一几何变换矩阵。
进一步的,上述缩放参数可以包括横向缩放参数和纵向缩放参数;横向缩放参数和纵向缩放参数均为第一比值与第二比值中的最小值;或,横向缩放参数为第一比值,纵向缩放参数为第二比值。其中,第一比值为虚拟显示的宽与矩形信息对应矩形的宽的比值,第二比值为虚拟显示的高与矩形信息对应矩形的高的比值。
进一步的,获取单元1703获取第一标识,可以包括:获取单元1703查询第一界面中所有图层的标识;将所有图层的标识中,前缀为第一前缀的图层的标识确定为第一标识,第一前缀与第一元素对应。
进一步的,第一元素可以是视频元素。
进一步的,该装置还可以包括:输入单元1705。
输入单元1705,用于接收对第一元素的跨设备拖拽操作。
获取单元1703获取第一标识,可以包括:获取单元1703从响应跨设备拖拽操作生成的拖拽数据中获取第一标识。
进一步的,第一元素可以为画中画,悬浮窗,视频元素。
本申请实施例还提供一种投屏装置,该装置可以应用于电子设备,如上述实施例中的第一终端(如手机)。该装置可以包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令时使得该投屏装置实现上述方法实施例中第一终端(如手机)执行的各个功能或者步骤。
本申请实施例还提供一种电子设备(该电子设备可以是终端,如可以为上述实施例中的第一终端),该电子设备可以包括:显示屏、存储器和一个或多个处理器。该显示屏、存储器和处理器耦合。该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令。当处理器执行计算机指令时,电子设备可执行上述方法实施例中第一终端(如手机)执行的各个功能或者步骤。当然,该电子设备包括但不限于上述显示屏、存储器和一个或多个处理器。例如,该电子设备的结构可以参考图4所示的手机的结构。
本申请实施例还提供一种芯片系统,该芯片系统可以应用于电子设备,如前述实施例中的第一终端(如手机)。如图18所示,该芯片系统包括至少一个处理器1801和至少一个接口电路1802。该处理器1801可以是上述电子设备中的处理器。处理器1801和接口电路1802可通过线路互联。该处理器1801可以通过接口电路1802从上述电子设备的存储器接收并执行计算机指令。当计算机指令被处理器1801执行时,可使得电子设备执行上述实施例中手机执行的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机可读存储介质,用于存储电子设备,如上述第一终端(如手机)运行的计算机指令。
本申请实施例还提供一种计算机程序产品,包括电子设备,如上述第一终端(如手机)运行的计算机指令。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种投屏方法,其特征在于,应用于第一终端,所述第一终端与第二终端连接,所述方法包括:
所述第一终端在所述第一终端的显示屏上显示第一界面,所述第一界面包括第一图层,所述第一图层包括第一元素;
所述第一终端在启动投屏后,向所述第二终端发送投屏内容,所述投屏内容包括所述第一元素所在的所述第一图层,所述第一图层是根据第一几何变换矩阵合成到虚拟显示上的,所述第一几何变换矩阵包括用于对所述第一图层进行偏移的偏移参数和用于对所述第一图层进行缩放的缩放参数,以使得所述第一图层至少在一个方向上铺满所述虚拟显示,所述第一几何变换矩阵与第二几何变换矩阵不同,所述第二几何变换矩阵是在所述第一终端的显示屏上合成所述第一图层时所使用的矩阵。
2.根据权利要求1所述的方法,其特征在于,所述第一终端向所述第二终端发送投屏内容之前,所述方法还包括:
所述第一终端获取第一标识,所述第一标识是所述第一图层的标识;
所述第一终端获取所述第一几何变换矩阵;
所述第一终端根据所述第一标识,将所述第一图层采用所述第一几何变换矩阵合成到所述虚拟显示上。
3.根据权利要求2所述的方法,其特征在于,所述第一终端获取第一几何变换矩阵,包括:
所述第一终端获取所述第一图层在所述虚拟显示上的初始显示区域;
所述第一终端根据所述初始显示区域的第一角相对于所述虚拟显示的第一角的坐标,获取所述偏移参数;
所述第一终端根据所述第一元素的宽和高,及所述虚拟显示的宽和高,获取所述缩放参数;
所述第一终端根据所述偏移参数和所述缩放参数获取所述第一几何变换矩阵。
4.根据权利要求3所述的方法,其特征在于,所述缩放参数包括横向缩放参数和纵向缩放参数;
所述横向缩放参数和所述纵向缩放参数均为第一比值与第二比值中的最小值;或,
所述横向缩放参数为所述第一比值,所述纵向缩放参数为所述第二比值;
其中,所述第一比值为所述虚拟显示的宽与所述第一元素的宽的比值,所述第二比值为所述虚拟显示的高与所述第一元素的高的比值。
5.根据权利要求2所述的方法,其特征在于,所述第一终端获取第一几何变换矩阵,包括:
所述第一终端获取所述第一元素对应的矩形信息;
所述第一终端根据所述矩形信息中的第一角相对于所述虚拟显示的第一角的坐标,获取所述偏移参数;
所述第一终端根据所述矩形信息对应矩形的宽和高,及所述虚拟显示的宽和高,获取所述缩放参数;
所述第一终端根据所述偏移参数和所述缩放参数获取所述第一几何变换矩阵。
6.根据权利要求5所述的方法,其特征在于,所述缩放参数包括横向缩放参数和纵向缩放参数;
所述横向缩放参数和所述纵向缩放参数均为第一比值与第二比值中的最小值;或,
所述横向缩放参数为所述第一比值,所述纵向缩放参数为所述第二比值;
其中,所述第一比值为所述虚拟显示的宽与所述矩形信息对应矩形的宽的比值,所述第二比值为所述虚拟显示的高与所述矩形信息对应矩形的高的比值。
7.根据权利要求2-6中任一项所述的方法,其特征在于,所述第一终端获取所述第一标识,包括:
所述第一终端查询所述第一界面中所有图层的标识;
所述第一终端将所有图层的标识中,前缀为第一前缀的图层的标识确定为所述第一标识,所述第一前缀与所述第一元素对应。
8.根据权利要求7所述的方法,其特征在于,所述第一元素是视频元素。
9.根据权利要求2-6中任一项所述的方法,其特征在于,在所述第一终端在启动投屏后,向所述第二终端发送投屏内容之前,所述方法还包括:
所述第一终端接收对所述第一元素的跨设备拖拽操作;
所述第一终端获取所述第一标识,包括:
所述第一终端从响应所述跨设备拖拽操作生成的拖拽数据中获取所述第一标识。
10.根据权利要求9所述的方法,其特征在于,所述第一元素为画中画,悬浮窗,视频元素。
11.一种投屏装置,其特征在于,包括:处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令时使得所述投屏装置实现如权利要求1-10中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被电子设备执行时使得所述电子设备实现如权利要求1-10中任一项所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011049448.4A CN114363678A (zh) | 2020-09-29 | 2020-09-29 | 一种投屏方法及设备 |
PCT/CN2020/142420 WO2021212922A1 (zh) | 2020-04-24 | 2020-12-31 | 一种对象拖拽方法及设备 |
US17/920,867 US20240053879A1 (en) | 2020-04-24 | 2020-12-31 | Object Drag Method and Device |
EP20932244.5A EP4130963A4 (en) | 2020-04-24 | 2020-12-31 | METHOD AND DEVICE FOR SLIDING OBJECTS |
CN202080100104.3A CN115516413A (zh) | 2020-04-24 | 2020-12-31 | 一种对象拖拽方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011049448.4A CN114363678A (zh) | 2020-09-29 | 2020-09-29 | 一种投屏方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114363678A true CN114363678A (zh) | 2022-04-15 |
Family
ID=81090131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011049448.4A Pending CN114363678A (zh) | 2020-04-24 | 2020-09-29 | 一种投屏方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114363678A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114760291A (zh) * | 2022-06-14 | 2022-07-15 | 深圳乐播科技有限公司 | 一种文件处理方法及装置 |
CN114884990A (zh) * | 2022-05-06 | 2022-08-09 | 亿咖通(湖北)技术有限公司 | 一种基于虚拟屏的投屏方法和设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955689A (zh) * | 2016-05-19 | 2016-09-21 | 乐视控股(北京)有限公司 | 多屏互动时的屏幕适配方法及装置 |
CN108984137A (zh) * | 2017-06-01 | 2018-12-11 | 福建星网视易信息系统有限公司 | 双屏显示方法及其系统、计算机可读存储介质 |
CN110109636A (zh) * | 2019-04-28 | 2019-08-09 | 华为技术有限公司 | 投屏方法、电子设备以及系统 |
US20190265941A1 (en) * | 2018-02-28 | 2019-08-29 | Hiroshi Baba | Information management apparatus, information sharing system, and terminal |
CN110267073A (zh) * | 2019-07-24 | 2019-09-20 | 深圳市颍创科技有限公司 | 一种投屏画面显示及投屏画面旋转方法 |
US20200053417A1 (en) * | 2016-10-10 | 2020-02-13 | Samsung Electronics Co., Ltd. | Method for communicating with external electronic device and electronic device supporting same |
CN111190559A (zh) * | 2019-12-04 | 2020-05-22 | 深圳市东向同人科技有限公司 | 一种投屏控制同步方法、移动终端及计算机可读存储介质 |
CN111314768A (zh) * | 2020-02-24 | 2020-06-19 | 北京小米移动软件有限公司 | 投屏方法、投屏装置、电子设备以及计算机可读存储介质 |
CN111399789A (zh) * | 2020-02-20 | 2020-07-10 | 华为技术有限公司 | 界面布局方法、装置及系统 |
CN111443884A (zh) * | 2020-04-23 | 2020-07-24 | 华为技术有限公司 | 投屏方法、装置和电子设备 |
-
2020
- 2020-09-29 CN CN202011049448.4A patent/CN114363678A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955689A (zh) * | 2016-05-19 | 2016-09-21 | 乐视控股(北京)有限公司 | 多屏互动时的屏幕适配方法及装置 |
US20200053417A1 (en) * | 2016-10-10 | 2020-02-13 | Samsung Electronics Co., Ltd. | Method for communicating with external electronic device and electronic device supporting same |
CN108984137A (zh) * | 2017-06-01 | 2018-12-11 | 福建星网视易信息系统有限公司 | 双屏显示方法及其系统、计算机可读存储介质 |
US20190265941A1 (en) * | 2018-02-28 | 2019-08-29 | Hiroshi Baba | Information management apparatus, information sharing system, and terminal |
CN110109636A (zh) * | 2019-04-28 | 2019-08-09 | 华为技术有限公司 | 投屏方法、电子设备以及系统 |
CN110267073A (zh) * | 2019-07-24 | 2019-09-20 | 深圳市颍创科技有限公司 | 一种投屏画面显示及投屏画面旋转方法 |
CN111190559A (zh) * | 2019-12-04 | 2020-05-22 | 深圳市东向同人科技有限公司 | 一种投屏控制同步方法、移动终端及计算机可读存储介质 |
CN111399789A (zh) * | 2020-02-20 | 2020-07-10 | 华为技术有限公司 | 界面布局方法、装置及系统 |
CN111314768A (zh) * | 2020-02-24 | 2020-06-19 | 北京小米移动软件有限公司 | 投屏方法、投屏装置、电子设备以及计算机可读存储介质 |
CN111443884A (zh) * | 2020-04-23 | 2020-07-24 | 华为技术有限公司 | 投屏方法、装置和电子设备 |
Non-Patent Citations (1)
Title |
---|
王昌红: "小试远程投影功能", 《电脑知识与技术(经验技巧)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884990A (zh) * | 2022-05-06 | 2022-08-09 | 亿咖通(湖北)技术有限公司 | 一种基于虚拟屏的投屏方法和设备 |
CN114760291A (zh) * | 2022-06-14 | 2022-07-15 | 深圳乐播科技有限公司 | 一种文件处理方法及装置 |
CN114760291B (zh) * | 2022-06-14 | 2022-09-13 | 深圳乐播科技有限公司 | 一种文件处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114679537B (zh) | 一种拍摄方法及终端 | |
WO2020211532A1 (zh) | 一种显示控制方法及相关装置 | |
US11669242B2 (en) | Screenshot method and electronic device | |
CN109766066B (zh) | 一种消息处理的方法、相关装置及系统 | |
WO2021052279A1 (zh) | 一种折叠屏显示方法及电子设备 | |
CN114115769B (zh) | 一种显示方法及电子设备 | |
CN112449099B (zh) | 一种图像处理方法、电子设备及云服务器 | |
CN111050062B (zh) | 一种拍摄方法及电子设备 | |
CN109523609B (zh) | 一种内容编辑的方法及终端 | |
CN114115629A (zh) | 一种界面显示方法及设备 | |
CN111355998B (zh) | 视频处理方法及装置 | |
CN114281439A (zh) | 分屏方法、装置及电子设备 | |
CN114816294A (zh) | 一种显示方法及设备 | |
EP4250074A1 (en) | Screen projection display method and electronic device | |
CN118259861A (zh) | 一种投屏显示方法及电子设备 | |
CN115756270B (zh) | 一种内容分享的方法、装置及系统 | |
CN114089932A (zh) | 多屏显示方法、装置、终端设备及存储介质 | |
CN114363678A (zh) | 一种投屏方法及设备 | |
CN114356195B (zh) | 一种文件传输的方法及相关设备 | |
CN113747056A (zh) | 拍照方法、装置及电子设备 | |
CN115150502B (zh) | 一种应用小部件的显示方法及装置、存储介质 | |
CN116095225B (zh) | 终端设备的图像处理方法及装置 | |
WO2023093778A1 (zh) | 一种截屏方法及相关装置 | |
CN117880410A (zh) | 用于投屏显示的方法及电子设备 | |
CN115878007A (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 |