双屏显示方法及其系统、计算机可读存储介质技术方案

技术编号:19744602 阅读:30 留言:0更新日期:2018-12-12 04:37
本发明专利技术公开了一种基于Android系统的双屏显示方法及其系统、计算机可读存储介质,方法包括:在第一屏幕的预设区域上创建虚拟屏幕;将所述虚拟屏幕的显示堆栈设定为第二屏幕的显示堆栈;获取所述虚拟屏幕的显示堆栈中预设的图层;将所述预设的图层显示在虚拟屏幕上。过共享内存数据的方式镜像屏幕数据,避免Surface的复制过程,降低资源消耗;可在双屏异显的情况下,将一个屏幕的全部图层或部分图层显示在另一个屏幕上的全部区域或部分区域。

【技术实现步骤摘要】
双屏显示方法及其系统、计算机可读存储介质
本专利技术涉及双屏显示
,尤其涉及一种基于Android系统的双屏显示方法及其系统、计算机可读存储介质。
技术介绍
利用安卓提供的Presentation接口我们可以实现双屏异显功能,比如在典型的KTV应用中,可以在点歌屏上显示点歌界面,在电视上显示MTV画面。但如果想在点歌屏上的部分或全部区域同时显示电视上的画面,尤其是视频画面,目前还没有直接的接口可以使用。由于Android系统的多媒体框架、显示框架的限制,无法方便的实现Surface(应用程序最终可见的、可维护的图形图像显示内容,即层)内容直接复制,而从一个Surface读取内容再写入另外一个Surface效率比较低。如果想在两个屏幕上显示相同画面的内容,通常需要在两个屏幕上分别绘制一遍,在画面复杂时,比如使用OpenGL绘图时,需要两个屏幕均重新执行一遍绘制操作,代码编写起来比较复杂并且是两倍的图形资源消耗,而如果想在两个屏幕上显示同一个视频画面,通常需要同步播放两个视频,然而这种方法需要定制播放器实现两个播放器同步播放,并且解码资源、图形资源的消耗也是两倍。更进一步的如果需要实现将一个屏幕的画面内容显示在另一个屏幕上,则会引入更复杂的代码结构。而如果使用Surface读取再写入的方式,效率较低无法达到流畅显示的要求。而在Android5.0之后的系统中,引入了MediaProjection接口,可以通过VirtualDisplay屏幕镜像的方式,方便高效地获取到主屏幕的Surface数据,将数据重导入目标Surface进行渲染后,就可以实现屏幕复制或屏幕录制的功能。但这种方式的限制是只能对主屏幕的内容进行镜像,且无法只显示部分图层的内容。
技术实现思路
本专利技术所要解决的技术问题是:提供一种基于Android系统的双屏显示方法及其系统、计算机可读存储介质,可将一个屏幕的全部内容或部分内容显示在另一个屏幕上。为了解决上述技术问题,本专利技术采用的技术方案为:一种基于Android系统的双屏显示方法,包括:在第一屏幕的预设区域上创建虚拟屏幕;将所述虚拟屏幕的显示堆栈设定为第二屏幕的显示堆栈;获取所述虚拟屏幕的显示堆栈中预设的图层;将所述预设的图层显示在虚拟屏幕上。本专利技术还涉及一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有多条指令,所述指令适于由处理器加载并执行:在第一屏幕的预设区域上创建虚拟屏幕;将所述虚拟屏幕的显示堆栈设定为第二屏幕的显示堆栈;获取所述虚拟屏幕的显示堆栈中预设的图层;将所述预设的图层显示在虚拟屏幕上。本专利技术还涉及一种基于Android系统的双屏显示系统,包括处理器,适于执行各指令;以及计算机可读存储介质,适于存储多条指令,所述指令适于由处理器加载并执行:在第一屏幕的预设区域上创建虚拟屏幕;将所述虚拟屏幕的显示堆栈设定为第二屏幕的显示堆栈;获取所述虚拟屏幕的显示堆栈中预设的图层;将所述预设的图层显示在虚拟屏幕上。本专利技术的有益效果在于:利用Android系统的虚拟屏幕机制,在第一屏幕上创建虚拟屏幕,利用Android显示框架中的显示堆栈机制,通过共享内存数据的方式镜像第二屏幕的屏幕数据,避免Surface的复制过程,降低资源消耗;本专利技术可在双屏异显的情况下,将一个屏幕的全部图层或部分图层显示在另一个屏幕上的全部区域或部分区域。附图说明图1为本专利技术一种基于Android系统的双屏显示方法的流程图;图2为本专利技术实施例一的方法流程图;图3为本专利技术实施例三的系统结构示意图。标号说明:1、处理器;2、计算机可读存储介质。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图详予说明。本专利技术最关键的构思在于:在第一屏幕上创建虚拟屏幕,并让虚拟屏幕与第二屏幕共享缓存数据。请参阅图1,一种基于Android系统的双屏显示方法,包括:在第一屏幕的预设区域上创建虚拟屏幕;将所述虚拟屏幕的显示堆栈设定为第二屏幕的显示堆栈;获取所述虚拟屏幕的显示堆栈中预设的图层;将所述预设的图层显示在虚拟屏幕上。从上述描述可知,本专利技术的有益效果在于:可在双屏异显的情况下,将一个屏幕的全部图层或部分图层显示在另一个屏幕上的全部区域或部分区域。进一步地,所述“将所述虚拟屏幕的显示堆栈设定为第二屏幕的显示堆栈”之前,进一步包括:判断是否存在第二屏幕;若存在,则执行所述将所述虚拟屏幕的显示堆栈设定为第二屏幕的显示堆栈的步骤;若不存在,则将所述虚拟屏幕的显示堆栈设定为第一屏幕的显示堆栈;继续执行所述判断是否存在第二屏幕的步骤。进一步地,所述“将所述虚拟屏幕的显示堆栈设定为第二屏幕的显示堆栈”之后,进一步包括:若第二屏幕的显示堆栈发生变更,则相应地变更所述虚拟屏幕的显示堆栈。由上述描述可知,通过监视屏幕的创建/销毁/变更事件,同步更新虚拟屏幕的信息。进一步地,所述“获取所述虚拟屏幕的显示堆栈中预设的图层”具体为:根据图层的标识,在所述虚拟屏幕的显示堆栈中过滤得到预设的图层,所述图层的标识为图层顺序或图层名称;若所述预设的图层的数目为两个以上,则合成所述预设的图层。由上述描述可知,一个屏幕的显示堆栈中存储有多个图层,这多个图层显示时是有叠加顺序的,例如视频图像层在最底层,字幕层在视频图像层之上,因此可以通过图层的顺序对多个图层进行过滤,获得所需要的图层,也可以通过图层的名字进行过滤,根据图层的名字获得所需要的图层,这样即可根据需求,将不需要显示在虚拟屏幕上的图层过滤移除,将需要显示在虚拟屏幕上的图层进行合成。进一步地,所述“在第一屏幕的预设区域上创建虚拟屏幕”具体为:通过createVirtualDisplay()接口或OverlayDisplay创建虚拟屏幕;将所述虚拟屏幕的渲染目标设置在第一屏幕中的预设区域。本专利技术还提出一种计算机可读存储介质2,所述计算机可读存储介质中存储有多条指令,所述指令适于由处理器加载并执行:在第一屏幕的预设区域上创建虚拟屏幕;将所述虚拟屏幕的显示堆栈设定为第二屏幕的显示堆栈;获取所述虚拟屏幕的显示堆栈中预设的图层;将所述预设的图层显示在虚拟屏幕上。进一步地,所述“将所述虚拟屏幕的显示堆栈设定为第二屏幕的显示堆栈”之前,进一步包括:判断是否存在第二屏幕;若存在,则执行所述将所述虚拟屏幕的显示堆栈设定为第二屏幕的显示堆栈的步骤;若不存在,则将所述虚拟屏幕的显示堆栈设定为第一屏幕的显示堆栈;继续执行所述判断是否存在第二屏幕的步骤。进一步地,所述“将所述虚拟屏幕的显示堆栈设定为第二屏幕的显示堆栈”之后,进一步包括:若第二屏幕的显示堆栈发生变更,则相应地变更所述虚拟屏幕的显示堆栈。进一步地,所述“获取所述虚拟屏幕的显示堆栈中预设的图层”具体为:根据图层的标识,在所述虚拟屏幕的显示堆栈中过滤得到预设的图层,所述图层的标识为图层顺序或图层名称;若所述预设的图层的数目为两个以上,则合成所述预设的图层。进一步地,所述“在第一屏幕的预设区域上创建虚拟屏幕”具体为:通过createVirtualDisplay()接口或OverlayDisplay创建虚拟屏幕;将所述虚拟屏幕的渲染目标设置在第一屏幕中的预设区域。本专利技术还提出一种基于Android系统的双屏显示系统,包括处理器,适于本文档来自技高网
...

【技术保护点】
1.一种基于Android系统的双屏显示方法,其特征在于,包括:在第一屏幕的预设区域上创建虚拟屏幕;将所述虚拟屏幕的显示堆栈设定为第二屏幕的显示堆栈;获取所述虚拟屏幕的显示堆栈中预设的图层;将所述预设的图层显示在虚拟屏幕上。

【技术特征摘要】
1.一种基于Android系统的双屏显示方法,其特征在于,包括:在第一屏幕的预设区域上创建虚拟屏幕;将所述虚拟屏幕的显示堆栈设定为第二屏幕的显示堆栈;获取所述虚拟屏幕的显示堆栈中预设的图层;将所述预设的图层显示在虚拟屏幕上。2.根据权利要求1所述的基于Android系统的双屏显示方法,其特征在于,所述“将所述虚拟屏幕的显示堆栈设定为第二屏幕的显示堆栈”之前,进一步包括:判断是否存在第二屏幕;若存在,则执行所述将所述虚拟屏幕的显示堆栈设定为第二屏幕的显示堆栈的步骤;若不存在,则将所述虚拟屏幕的显示堆栈设定为第一屏幕的显示堆栈;继续执行所述判断是否存在第二屏幕的步骤。3.根据权利要求1所述的基于Android系统的双屏显示方法,其特征在于,所述“将所述虚拟屏幕的显示堆栈设定为第二屏幕的显示堆栈”之后,进一步包括:若第二屏幕的显示堆栈发生变更,则相应地变更所述虚拟屏幕的显示堆栈。4.根据权利要求1所述的基于Android系统的双屏显示方法,其特征在于,所述“获取所述虚拟屏幕的显示堆栈中预设的图层”具体为:根据图层的标识,在所述虚拟屏幕的显示堆栈中过滤得到预设的图层,所述图层的标识为图层顺序或图层名称;若所述预设的图层的数目为两个以上,则合成所述预设的图层。5.根据权利要求1所述的基于Android系统的双屏显示方法,其特征在于,所述“在第一屏幕的预设区域上创建虚拟屏幕”具体为:通过createVirtualDisplay()接口或OverlayDisplay创建虚拟屏幕;将所述虚拟屏幕的渲染目标设置在第一屏幕中的预设区域。6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有多条指令,所述指令适于由处理器加载并执行:在第一屏幕的预设区域上创建虚拟屏幕;将所述虚拟屏幕的...

【专利技术属性】
技术研发人员:游昌宁郑远林鎏娟
申请(专利权)人:福建星网视易信息系统有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1