Android 摄像头取流 android 网络摄像头_Android 摄像头取流

本发明涉及一种智能后视镜系统及方法, 尤其涉及的是一种基于Android的智能后视镜摄像头共享系统及方法改进。

背景技术:

现有技术的基于Android智能后视镜系统,通常具有独立的操作系统,独立的运行空间,可以由用户自行安装软件、游戏、导航等第三方服务商提供的程序,并可以通过WIFI或者移动通讯网络来实现无线网络接入,同时可以提供行车记录、GPS定位、电子测速提醒、倒车可视、实时在线影音娱乐等功能的智能化汽车后视镜 。

智能后视镜具有优秀的操作系统、可自由安装的各类软件、触屏式操作感这三大特性,能够提供语音控制、导航、超速提醒、行车记录和实时在线的视听等驾驶汽车时的安全和娱乐功能。目前的智能后视镜系统通常是基于Android系统的。

在现有的Android智能后视镜中,往往多个应用程序需要使用同一摄像头资源,例如为实现录像和倒车后视功能,这两个应用程序都需要使用到同一摄像头的录像数据资源。

而现有的Android摄像头资源利用中,在两个不同应用之间切换的时候,通常需要前一个应用先关闭,后一个应用才能打开进行预览。这个过程比较慢,而且连续切换过程中容易出现同步问题,造成预览图像切换慢或者无法显示的情况,影响实际的使用。

因此,现有技术还有待于改进和发展。

技术实现要素:

本发明的目的在于提供一种基于Android智能后视镜摄像头共享的系统及方法,可以让两个或以上的应用程序更快速更稳定地进行图像显示切换。

本发明的技术方案如下:

一种基于Android智能后视镜摄像头共享的系统,其包括应用层和框架层,所述应用层具有至少两个使用摄像头资源的应用程序单元;其中,所述框架层内设置有摄像头服务层、摄像头客户端和摄像头硬件适配层,用于在查找到之前该摄像头已创建的客户端后,由所述摄像头服务层设置预览窗口到该摄像头客户端,并由该摄像头客户端将预览窗口传入所述摄像头适配层,并由该摄像头适配层填充预览窗口进行预览显示。

所述的系统,其中,所述摄像头服务层还用于创建摄像头客户端,并记录该对应的摄像头客户端。

一种实现所述系统的方法,其包括以下步骤:

A、所述框架层中的摄像头服务层查找该摄像头是否已经创建摄像头客户端,如有则打开已经创建的摄像头客户端;

B、所述框架层的摄像头硬件适配层完成将所述摄像头的图像填充到新的预览窗口。

所述的方法,其中,所述步骤B还包括:

B1、所述摄像头服务层设置新的预览窗口到该摄像头客户端;

B2、所述摄像头客户端设置该新的预览窗口到所述摄像头的硬件适配层;

B3、所述摄像头的硬件适配层将该摄像头的图像填充到新的预览窗口。

所述的方法,其中,所述步骤A之前还包括:

A01、所述应用调用框架层提供的预览窗口设置接口;

A02、所述应用层打开该摄像头接口,并由所述摄像头服务层创建和记录相应的摄像头客户端;

A03、由所述摄像头硬件适配层填充所述预览窗口。

本发明所提供的一种基于Android智能后视镜摄像头共享的系统及方法,由于采用了直接设置显示窗口的静态方法实现预览显示,整个切换过程无须关闭摄像头资源并重新打开,加快了切换速度,增强了可实际应用的稳定性。

附图说明

图1为本发明较佳实施例的系统框图。

图2为本发明实现方法较佳实施例的流程示意图。

具体实施方式

以下对本发明的较佳实施例加以详细说明。

本发明所述基于Android智能后视镜摄像头共享的系统及方法中,如图1所示的,其系统包括应用层和对应的框架层,在所述应用层中具有至少两个须使用摄像头画面图像的应用APP A 和APP B,在所述框架层内设置有摄像头服务层,摄像头客户端以及摄像头硬件适配层。对新调用摄像头的应用来说,其与现有技术的摄像头使用方式基本类似,可以通过应用层的调用请求,由所述摄像头服务层设置预览窗口到摄像头客户端,并有该摄像头客户端将预览窗口传入所述摄像头硬件适配层,并由该摄像头硬件适配层对该预览窗口进行填充,从而将来自于所述摄像头的图像数据进行显示。

所述摄像头服务层会记录该摄像头ID对应的客户端预览窗口,当另一应用程序需要使用该摄像头的图像数据时,须先向所述摄像头服务层查询是否已经创建了预览窗口,并已经有预览窗口在使用该摄像头图像数据。当没有该已经创建的预览窗口时,按照上述新的创建过程进行显示。然,本发明针对的是两个及以上的应用对该摄像头图像数据的使用,因此,当发现已经有创建过的该摄像头预览窗口时,所述框架层的摄像头服务层创建新的预览窗口,但该新的预览窗口直接由所述摄像头的硬件适配层填充并显示,而不是像现有技术那样先关闭已有的摄像头预览窗口,再重新打开摄像头进行新的预览窗口填充。

本发明这种实现方式由于不关闭摄像头的图像获取过程,而仅通过框架层内的该摄像头ID对应的服务层,客户端以及硬件适配层进行处理,其切换速度快。

如图2所示,本发明所述基于Android智能后视镜摄像头共享的系统及方法的具体流程步骤:

1. 应用层调用框架层提供的预览窗口接口,由应用设置预览窗口。

2. 框架层的所述摄像头服务层查找此摄像头ID是否已经创建了摄像头客户端,如果没有则执行步骤3,进行新预览窗口的设置过程。如果有,则该摄像头服务层通过摄像头ID找到之前已经打开的客户端实例, 然后跳转到下述步骤5。

3. 所述应用层调用框架层提供的摄像头接口并打开。

4. 所述框架层打开该摄像头,所述摄像头服务层创建相应的摄像头客户端,并记录此摄像头ID对应的摄像头客户端。

5. 框架服务层设置新的预览窗口到框架层客户端。

6. 该框架层的所述摄像头客户端将预览窗口设置到框架层的摄像头硬件适配层。

7. 所述框架层的摄像头硬件适配层将图像填充到新的预览窗口上。

本发明基于Android智能后视镜摄像头共享的系统及方法,在现有技术摄像头资源的基础上增加了一个直接设置显示窗口的静态方法,其中一个应用程序打开摄像头资源进行预览时,如果另外的应用程序需要预览,只需要调用此静态方法就能连接到之前创建的摄像头资源,并设置新的预览窗口进行新的预览和显示。由于整个切换过程中不用关闭摄像头资源并重新打开,加快了切换速度,同时由于不需要频繁打开和关闭,增强了系统的稳定性。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。