[发明专利]一种基于Android平台的双屏显示方法有效
申请号: | 201310724939.8 | 申请日: | 2013-12-25 |
公开(公告)号: | CN103646638B | 公开(公告)日: | 2017-10-10 |
发明(设计)人: | 李培明;杨磊;汤益明;范少卓;任赋 | 申请(专利权)人: | 厦门雅迅网络股份有限公司 |
主分类号: | G09G5/14 | 分类号: | G09G5/14;G09G3/36 |
代理公司: | 厦门市精诚新创知识产权代理有限公司35218 | 代理人: | 方惠春 |
地址: | 361000 福建*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 android 平台 双屏 显示 方法 | ||
1.一种基于Android平台的双屏显示方法,应用于第一显示屏和第二显示屏之间的切换显示,包括如下步骤:
步骤1:在系统中创建一个描述显示屏的DisplayHardware对象,并对该DisplayHardware对象进行初始化,在这个初始化过程中会先后初始化Gralloc、Overlay和OpenGL ES等三个模块;
步骤2:Gralloc模块对第一显示屏的UI部分进行刷新,同时监测来自UI人机交互界面的控制命令,如果该控制命令是执行双屏操作,则进行双屏显示及视频切换操作,将第一显示屏的内容传输至第二显示屏并显示;其具体包括如下过程:
步骤21:通过DisplayHardware对象,获取第一显示屏的帧缓冲区设备fb0的显存地址和设备信息,同时获取保存视频内容的帧缓冲区设备fb2的显存地址和设备信息;帧缓冲区设备fb0用于管理第一显示屏的GUI系统元素显示;帧缓冲区设备fb2用于管理视频内容显示;
步骤22:设置第二显示屏的帧缓冲区设备fb1的显示模式;帧缓冲区设备fb1用于管理第二显示屏的GUI系统元素显示;
步骤23:清空帧缓冲区设备fb0、帧缓冲区设备fb1和帧缓冲区设备fb2的显存内容;
步骤24:Overlay模块调用硬件提供的图像混合叠加处理功能,将帧缓冲区设备fb2与帧缓冲区设备fb1进行叠加,由于帧缓冲区设备fb1始终与第二显示屏绑定,因此叠加之后即实现视频在第二显示屏播放。
2.根据权利要求1所述的基于Android平台的双屏显示方法,其特征在于:所述步骤24中,第一显示屏中需要显示到第二显示屏的内容信息是视频信息,帧缓冲区设备fb2用于管理第二显示屏的视频部分显示;此时Overlay模块首先获取包含该视频信息的视频控件的信息,根据帧缓冲区设备fb1的显示模式计算其显示区域,根据该显示区域来调整视频控件的大小参数;然后将下一帧视频内容拷贝到当前帧地址,用于刷新视频内容,从而实现视频从第一显示屏切换到第二显示屏。
3.根据权利要求2所述的基于Android平台的双屏显示方法,其特征在于:所述步骤2中,Gralloc模块对第一显示屏的UI部分进行刷新,监测来自UI人机交互界面的控制命令,具体包括如下内容:视频播放器的开始播放按钮调用系统多媒体库中的start()接口开始播放视频;start()接口调用Surfaceflinger服务的createOverlay()方法;Surfaceflinger服务的createOverlay()方法中首先创建一个OverlaySource对象;OverlaySource构造函数获取之前系统开机已初始化过的Overlay模块,并调用Overlay模块的createOverlay()方法创建Overlay对象实例;Overlay模块的createOverlay()方法创建overlay对象,获取帧缓冲区设备fb0的分辨率,同时初始化帧缓冲区设备fb2,并获取fb2显存地址;overlay对象中打开overlay模块,保存overlay数据操作相关的信息和操作接口,并重新配置overlay对象。
4.根据权利要求1所述的基于Android平台的双屏显示方法,其特征在于:所述步骤1中,对DisplayHardware对象进行初始化具体包括如下内容:
对Gralloc模块进行初始化:获取Gralloc模块的操作接口和帧缓冲区设备fb0的显存地址和设备信息,并进行Gralloc模块和帧缓冲区设备fb0的初始化;Gralloc模块用来分配缓冲区;
对Overlay模块进行初始化:获取overlay模块的控制接口,以备后续使用overlay时调用,同时启动overlay线程,该overlay线程用于执行处理双屏显示以及视频切换流程;
对OpenGL ES模块进行初始化:打开OpenGL ES库,获取OpenGL ES相关信息并对其进行初始化。
5.根据权利要求1所述的基于Android平台的双屏显示方法,其特征在于:所述步骤1中,对DisplayHardware对象进行初始化之前还执行具有如下过程:启动系统服务SystemServer,在SystemServer服务初始化过程中启动SurfaceFlinger服务;Surfaceflinger服务初始化过程中调用readyToRun()函数初始化整个显示系统;readyToRun()函数执行中首先调用newDisplayHardware()接口创建一个DisplayHardware对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门雅迅网络股份有限公司,未经厦门雅迅网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310724939.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种过滤器
- 下一篇:一种传感器信息传输方法和系统