CN104484181A - 在glibc环境下控制安卓相机的方法、装置及移动设备 - Google Patents

在glibc环境下控制安卓相机的方法、装置及移动设备 Download PDF

Info

Publication number
CN104484181A
CN104484181A CN201410816044.1A CN201410816044A CN104484181A CN 104484181 A CN104484181 A CN 104484181A CN 201410816044 A CN201410816044 A CN 201410816044A CN 104484181 A CN104484181 A CN 104484181A
Authority
CN
China
Prior art keywords
camera
pipeline
source
interface
unit
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.)
Granted
Application number
CN201410816044.1A
Other languages
English (en)
Other versions
CN104484181B (zh
Inventor
王�华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yuanxin Information Technology Group Co.,Ltd.
Original Assignee
Beijing Yuanxin Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Yuanxin Science and Technology Co Ltd filed Critical Beijing Yuanxin Science and Technology Co Ltd
Priority to CN201410816044.1A priority Critical patent/CN104484181B/zh
Publication of CN104484181A publication Critical patent/CN104484181A/zh
Application granted granted Critical
Publication of CN104484181B publication Critical patent/CN104484181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Studio Devices (AREA)

Abstract

本发明实施例提供了一种在glibc环境下控制安卓相机的方法、装置和移动设备,该方法包括:将bionic环境下的安卓相机服务中的功能接口通过Libhybris技术转换成glibc环境能调用的功能接口;基于GStreamer框架生成能够对转换后的功能接口进行调用的相机插件;通过相机管道接收来自相机应用模块的相机操作命令,驱动所述相机插件调用所述转换后的功能接口,对相机硬件进行操作;由所述相机插件通过所述转换后的功能接口接收相机硬件生成的数据,并将数据经由所述相机管道返回所述相机应用模块。

Description

在glibc环境下控制安卓相机的方法、装置及移动设备
技术领域
本发明涉及操作系统技术领域,特别涉及一种在glibc环境下控制安卓相机的方法、装置及移动设备。
背景技术
Bionic是安卓系统(Android)的C/C++库,libc是GNU/Linux以及其他类Unix系统的基础函数库,最常用的是GNU的libc,也就是glibc。现有技术中,在glibc的编译环境下是无法调用bionic环境下的相机功能接口的,也就是说无法实现相机的基本操作。一旦在android设备上使用基于glibc的操作系统来刷机,将无法使用bionic环境下的相机功能接口。
一种解决方式是采用Libhybris技术实现从bionic到glibc的转换,但是目前在glibc环境下对于android相机接口的调用所采用的是直接对相机硬件抽象层的封装,这种方式需要在系统启动时就在后台运行安卓相机服务来加载媒体库,会占用大量的资源。
发明内容
为了克服现有技术中的上述缺陷,本发明提供了一种在glibc环境下控制安卓相机的方法、装置及移动设备。
本发明一实施方式提供了一种在glibc环境下控制安卓相机的方法,所述方法包括:将bionic环境下的安卓相机服务中的功能接口通过Libhybris技术转换成glibc环境能调用的功能接口;基于GStreamer框架生成能够对转换后的功能接口进行调用的相机插件;通过相机管道接收来自相机应用模块的相机操作命令,驱动所述相机插件调用所述转换后的功能接口,对相机硬件进行操作;由所述相机插件通过所述转换后的功能接口接收相机硬件生成的数据,并将数据经由所述相机管道返回所述相机应用模块。
其中,通过相机管道接收来自相机应用模块的相机操作命令,驱动所述相机插件调用所述转换后的功能接口,对相机硬件进行操作包括:通过与所述相机操作命令对应的相机管道接收来自相机应用模块的所述相机操作命令;由所述对应的相机管道驱动所述相机插件中与所述操作命令对应的相机源;由所述对应的相机源调用所述转换后的功能接口中与所述操作命令对应的功能接口,对相机硬件进行操作。
其中,由所述相机插件通过转换后的功能接口接收相机硬件生成的数据并将数据经由所述相机管道返回所述相机应用模块包括:由所述转换后的功能接口中与所述操作命令对应的功能接口接收来自相机硬件生成的数据;由所述对应的功能接口将所述数据发送给所述相机插件中与所述操作命令对应的相机源;由所述对应的相机源将所述数据发送给与所述相机操作命令对应的相机管道;由所述对应的相机管道将所述数据输出给所述相机应用模块。
其中,所述相机管道包括:照相管道、预览管道和录像管道;所述相机插件包括:照相源、预览源和录像源;所述转换后的接口包括:照相接口、预览接口和录像接口;所述照相管道驱动所述照相源,所述照相源调用所述照相接口;所述预览管道驱动所述预览源,所述预览源调用所述预览接口;所述录像管道驱动所述录像源,所述录像源调用所述录像接口。
本发明另一实施方式提供了一种在glibc环境下控制安卓相机的装置,所述装置包括:相机管道、相机插件以及功能接口;所述功能接口是将bionic环境下的安卓相机服务中的功能接口通过Libhybris技术转换成的glibc环境能调用的功能接口;所述相机插件是基于GStreamer框架生成的能够对转换后的功能接口进行调用的相机插件;所述相机管道,接收来自相机应用模块的相机操作命令,驱动所述相机插件调用所述转换后的功能接口,对相机硬件进行操作;所述相机插件,通过所述转换后的功能接口接收相机硬件生成的数据,并将数据经由所述相机管道返回所述相机应用模块。
其中,所述相机管道,通过与所述相机操作命令对应的相机管道接收来自相机应用模块的所述相机操作命令,并由所述对应的相机管道驱动所述相机插件中与所述操作命令对应的相机源;所述相机插件,由所述对应的相机源调用所述功能接口中与所述操作命令对应的功能接口,对相机硬件进行操作。
其中,所述功能接口,通过所述功能接口中与所述操作命令对应的功能接口接收来自相机硬件的数据,并将所述数据发送给所述相机插件中与所述操作命令对应的相机源;所述相机插件,由所述对应的相机源将所述数据发送给与所述相机操作命令对应的相机管道;所述相机管道,由所述对应的相机管道将所述数据输出给所述相机应用模块。
其中,所述相机管道包括:照相管道、预览管道和录像管道;所述相机插件包括照相源、预览源和录像源;所述转换后的接口包括:照相接口、预览接口和录像接口;所述照相管道,驱动所述照相源;所述照相源,调用所述照相接口;所述预览管道,驱动所述预览源;所述预览源,调用所述预览接口;所述录像管道,驱动所述录像源;所述录像源,调用所述录像接口。
其中,所述照相管道包括:过滤单元,接收来自所述照相源的图片数据,对图片类型进行过滤;图片输出单元,将过滤后的图片提供给相机应用模块。
本发明又一实施方式提供了一种移动设备,所述移动设备包括:前述实施例所述的在glibc环境下控制安卓相机的装置、相机硬件以及相机应用模块;所述相机应用模块,通过所述在glibc环境下控制安卓相机的装置控制所述相机硬件的操作,并通过所述在glibc环境下控制安卓相机的装置接收来自相机硬件的数据;所述相机硬件,接收来自所述在glibc环境下控制安卓相机的装置的相机操作命令,执行相应的相机操作,并通过所述在glibc环境下控制安卓相机的装置将相机硬件的数据返回给所述相机应用模块。
本发明实施方式的方案不涉及对安卓相机硬件抽象层进行封装,而是对硬件抽象层以上的安卓相机服务功能接口进行转换,使得在glibc环境下能够调用安卓环境下的相机功能接口,该方案不需要在系统运行时就在后台运行相机服务,而是在相机启动时才建立相机服务,进行数据传输,节约了系统资源,提高了运行效率。并且,由于相机服务是直接调用相机硬件抽象层的,不论相机硬件抽象层如何变化,都要遵循相机服务的规则,本发明的方案不需要针对不同的硬件抽象层设计不同的封装方式,后期维护也很方便。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例的方法流程图;
图2为本发明实施例采用Libhybris技术进行功能接口转换的示意图;
图3为本发明实施例的GStreamer多媒体框架图;
图4为本发明实施例的客户端-服务端模型示意图;
图5为本发明实施例的GStreamer框架的细化功能框图;
图6为本发明实施例照相管道的功能框图;
图7为本发明实施例预览管道的功能框图;
图8为本发明实施例录像管道的功能框图;
图9为本发明实施例图1中S103的细化流程图;
图10为本发明实施例拍照操作的工作流程图;
图11为本发明实施例图1中S104的细化流程图;
图12为本发明实施相机插件的照相源的工作流程图;
图13为本发明实施相机插件的预览源的工作流程图;
图14为本发明实施相机插件的录像源的工作流程图;
图15为本发明实施移动设备的一种具体实现示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
为了更好地理解和阐释本发明,下面将结合附图对本发明作进一步的详细描述。
实施例1:
本实施例提供一种在glibc环境下控制安卓相机的方法,图1为本实施例的方法流程图。如图1所示,本实施例的方法包括:
S101、将bionic环境下的安卓相机服务中的功能接口通过Libhybris技术转换成glibc环境能调用的功能接口。
图2为本实施例采用Libhybris技术进行功能接口转换的示意图。
如图2所示,在安卓(android)编译环境下,在安卓相机服务(androidcamera service)中规定了基于安卓相机服务框架的功能接口,硬件厂商基于该功能接口通过相机的硬件抽象层(camera HAL)来实现各自的相机功能。
本实施例中,为了配合在glibc环境下实现对安卓相机的控制,不能直接使用安卓自带的功能接口,而需要重新生成基于安卓相机服务框架的功能接口,如照相接口、预览接口和录像接口,然后将生成的功能接口通过Libhybris技术转换成glibc能调用的功能接口,也就是生成在glibc环境下的功能接口。
这样做的原因是,现有的安卓环境下的功能接口是在获取硬件数据之后直接在安卓原生窗口(android native window)中显示数据,而本实施例中生成的基于安卓相机服务框架的功能接口是采用数据回调的方式来传输数据,即不直接在android native window中显示数据而是通过回调方式传给相机插件,并通过相机管道传输给相机应用模块。
Libhybris技术是一项成熟的技术,它是一个兼容层,能够加载安卓的硬件适配层,并能够方便的实现从bionic环境到glibc环境的转换,本实施例是利用这项技术来实现安卓相机服务框架的功能接口的转换,使得在glibc环境下能够调用安卓环境下的相机服务功能接口。
S102、基于GStreamer框架生成能够对转换后的功能接口进行调用的相机插件。
图3为本实施例的GStreamer多媒体框架图。GStreamer是一个开放性的多媒体框架,在GStreamer中,采用插件形式来实现具体的功能。因此,本实施例为了调用经Libhybris技术转换后的功能接口,需要基于GStreamer框架生成能够对转换后的功能接口进行调用的相机插件。本实施例的相机插件中包含与不同的相机操作命令对应的相机源,如照相源、预览源和录像源,分别对经Libhybris技术转换后的功能接口中的照相接口、预览接口和录像接口进行调用。
S103、通过相机管道接收来自相机应用模块的相机操作命令,驱动相机插件调用转换后的功能接口,对相机硬件进行操作;
图4为本实施例的客户端-服务端模型示意图。如图4所示,本实施例中,相机应用模块为客户端,GStreamer框架为服务端。相机应用模块为用户提供照相、预览以及录像的功能,而GStreamer框架为这些功能提供具体的硬件数据并返回给相机应用模块。
以照相为例,相机应用模块发起照相请求,点击拍照按钮,服务端接收到请求,开始进行拍照操作,然后把拍照后的数据返回给相机应用模块,相机应用模块得到拍照数据,将数据存储起来,这样用户就能看到照片。
图5为本实施例的GStreamer框架的细化功能框图。如图5所示,本实施例的相机管道包括:照相管道、预览管道和录像管道;相机插件包括:照相源、预览源和录像源;转换后的接口包括:照相接口、预览接口和录像接口;其中:照相管道驱动照相源,照相源调用照相接口;预览管道驱动预览源,预览源调用预览接口;录像管道驱动录像源,录像源调用录像接口。
当相机硬件获得数据之后,通过转换后的功能接口、相机插件和相机管道将数据传输给相机应用模块。对于照相操作,在相机应用模块中存储为图片文件;对于预览操作,在相机应用模块中显示预览数据;对于录像操作,在相机应用模块中存储为录像文件。
图6为本实施例照相管道的功能框图。如图6所示:照相源的图片数据进入照相管道后,首先通过过滤单元进行图片类型过滤,然后通过输出单元将经过图片过滤的照片输出存储。本实施例的照相管道与现有技术所不同的是,在过滤单元和输出单元之间没有图像编码单元,因为本实施例的照相源获得的就是图片数据,不需要再次进行图片编码,而现有技术中基于GStreamer框架下的照相管道获得的是没有经过压缩的YUV数据,因此需要图像编码单元对获得的原始数据进行编码来生成图片。
图7为本实施例预览管道的功能框图,如图7所示:预览源的数据进入预览管道,由于预览源的数据量比较大,需要让源数据有序地进行显示,因此在预览管道中,首先要经过队列单元的处理,把预览源的数据进行排队,然后经过过滤单元对数据类型进行过滤,最后送到预览输出单元进行显示。
图8为本实施例录像管道的功能框图,如图8所示:录像源进入录像管道,同照相管道一样,先通过过滤单元进行类型过滤,然后再经过录像编码单元进行音频编码和视频编码,将编码后的数据通过录像输出单元输出并存储成录像文件。
源作为数据的输入端,经过相机管道后再输出,因此输入端的数据非常重要,也就是说只有源正确了,才能有正确的输出。在具体实现中,本实施例的相机管道采用GStreamer框架下性能有待改善的插件(gst-plugins-bad)中的camerabin2。
图9为S103的细化流程图。如图9所示:
S901、通过与相机操作命令对应的相机管道接收来自相机应用模块的相机操作命令;
S902、由对应的相机管道驱动相机插件中与操作命令对应的相机源;
S903、由对应的相机源调用转换后的功能接口中与操作命令对应的功能接口,对相机硬件进行操作。
下面以拍照操作为例来说明图9的具体过程。图10为拍照操作的工作流程图。首先相机插件需要注册到GStreamer中,这样GStreamer就可以找到该相机插件。当相机应用发送拍照请求后,GStreamer接收到拍照请求,通知Camerabin2,然后Camerabin2根据请求,在拍照管道中,驱使相机插件进行拍照,此时相机插件根据Camerbin2的指示,通过相机服务功能接口的拍照动作调用Camera HAL来实现拍照功能。
S104、由相机插件通过转换后的功能接口接收相机硬件生成的数据,并将数据经由相机管道返回相机应用模块。
图11为S104的细化流程图。如图4所示:S104具体包括:
S1101、由转换后的功能接口中与操作命令对应的功能接口接收来自相机硬件生成的数据;
S1102、由对应的功能接口将数据发送给相机插件中与操作命令对应的相机源;
S1103、由对应的相机源将数据发送给与相机操作命令对应的相机管道;
S1104、由对应的相机管道将数据输出给相机应用模块。
下面详细描述相机插件中照相源、预览源和录像源的工作原理。
图12为本实施例相机插件的照相源的工作流程。如图12所示:照相开始时,需要知道当前的动作行为,如先判断是否是照相,如果是要进行照相,那么开始设置照相类型、照相模式,这些基本操作完成后,开始获取照相数据,在获取数据时,调用转换后的照相接口,把获取的数据输出到照相管道中,并输出给相机应用模块存储;如果不是照相,那么就处于等待状态,直到照相动作开始。
图13为本实施例相机插件的预览源的工作流程,如图13所示:相机启动,判断是不是实时运行预览操作,如果是,则直接获取数据,输出到预览管道用于显示,如果不是,则等待,一直到实时运行预览为止。类似的,预览源获取数据时,会调用转换后的预览接口。
图14为本实施例相机插件的录像源的工作流程,如图14所示:相机开始录像时,首先要判断当前是不是录像模式,如果是的话,那么直接获取数据输出,如果不是的话,先改变相机模式为预览模式,然后判断是不是需要录像,如果不是,则等待,直到需要录像为止;如果是,则改变相机模式为录像模式,然后获取录像数据,输出到录像管道中。类似的,录像源获取数据时会调用转换后的录像接口。
本实施例的方法不涉及对安卓相机硬件抽象层进行封装,而是对硬件抽象层以上的安卓相机服务功能接口进行转换,使得在glibc环境下能够调用安卓环境下的相机功能接口,并不需要在系统运行时都在后台运行相机服务,而是在相机启动时才建立相机服务,进行数据传输,节约了系统资源,提高了运行效率。而且由于相机服务是直接调用相机硬件抽象层的,不论相机硬件抽象层如何变化,都要遵循相机服务的规则,本发明的方案不需要针对不同的硬件抽象层设计不同的封装方式,后期维护也很方便。
实施例2:
本实施例提供一种在glibc环境下控制安卓相机的装置及包含该装置的移动设备。本实施例的装置架构可以参见图3和图5。
如图3所示,该装置包括:相机管道、相机插件以及功能接口;功能接口是将bionic环境下的安卓相机服务中的功能接口通过Libhybris技术转换成的glibc环境能调用的功能接口;相机插件是基于GStreamer框架生成的能够对转换后的功能接口进行调用的相机插件;其中:相机管道,接收来自相机应用模块的相机操作命令,驱动相机插件调用转换后的功能接口,对相机硬件进行操作;相机插件,通过转换后的功能接口接收相机硬件生成的数据,并将数据经由相机管道返回相机应用模块。
具体地,当从相机应用模块启动相机操作功能时:相机管道,通过与相机操作命令对应的相机管道接收来自相机应用模块的相机操作命令,并由对应的相机管道驱动相机插件中与操作命令对应的相机源;相机插件,由对应的相机源调用功能接口中与操作命令对应的功能接口,对相机硬件进行操作。
本实施例的相机管道包括:照相管道、预览管道和录像管道;相机插件包括照相源、预览源和录像源;转换后的接口包括:照相接口、预览接口和录像接口;照相管道,驱动照相源;照相源,调用照相接口;预览管道,驱动预览源;预览源,调用预览接口;录像管道,驱动录像源;录像源,调用录像接口。
具体地,本实施例的照相管道包括:过滤单元,接收来自照相源的图片数据,对图片类型进行过滤;图片输出单元,将过滤后的图片提供给相机应用模块。
具体地,当从相机硬件向相机应用模块发送数据时:功能接口,通过功能接口中与操作命令对应的功能接口接收来自相机硬件的数据,并将数据发送给相机插件中与操作命令对应的相机源;相机插件,由对应的相机源将数据发送给与相机操作命令对应的相机管道;相机管道,由对应的相机管道将数据输出给相机应用模块。
本实施例的相机插件、相机管道和功能接口的工作原理在实施例1中已经进行了详细描述,此处不再赘述。
本实施例还提供一种移动设备,该移动设备包括前述在glibc环境下控制安卓相机的装置、相机硬件以及相机应用模块;其中:相机应用模块,通过在glibc环境下控制安卓相机的装置控制相机硬件的操作,并通过在glibc环境下控制安卓相机的装置接收来自相机硬件的数据;相机硬件,接收来自在glibc环境下控制安卓相机的装置的相机操作命令,执行相应的相机操作,并通过在glibc环境下控制安卓相机的装置将相机硬件的数据返回给相机应用模块。
图15为本实施例移动设备的一种具体实现示意图。如图15所示:
该移动设备具有处理器510,其负责移动设备的整体操作,并且可以利用中央处理单元(CPU)、数字信号处理器(DSP)或任何其他电子可编程逻辑器件(PLD)实现。处理器510具有关联的存储器520,该存储器520包括但不限于RAM存储器、ROM存储器、EEPROM存储器、闪存或其组合。存储器520由处理器510控制用于各种目的,其中之一在于为移动设备中各种软件存储程序指令和数据。
该移动设备还包括实时操作系统540、用于人机界面560的驱动器、应用处理机550和各种应用。应用例如是文本编辑器551、手写识别应用552和其他多媒体应用553,典型地该其他多媒体应用包括诸如语音呼叫应用、视频呼叫应用、发送和接收短消息服务(SMS)消息应用、多媒体消息服务(MMS)应用或电子邮件应用、web浏览器、即时消息收发应用、电话簿应用、日历应用、控制面板应用、照相机应用、一个或多个视频游戏、记事本应用等。应当注意,上述应用的两个或更多可以作为同一应用执行。本实施例的相机应用模块可以是位于多媒体应用553中。本实施例的在glibc环境下控制安卓相机的装置可以位于实时操作系统540中。
该移动设备还包括一个或多个硬件控制器,用于与人机界面560的驱动器一起与显示设备561,相机562、麦克风563和各种I/O设备(诸如扬声器、振动器、响铃发生器、LED指示器等)564协作,以实现移动的人机交互。本领域技术人员应当理解用户可以通过这样形成的人机界面560来操作移动终端。
该移动终端还可以包括各种模块、协议栈、驱动器等与通信相关的逻辑,归纳为如图15中示出的通信接口570,用于为无线射频接口571以及可选地为蓝牙接口572和/或红外接口573提供通信服务(例如传输、网络和连通性),以实现智能终端的互联互通。无线射频接口571包括内部或外部天线以及用于建立和维护通往基站的无线链路的适当电路。如本领域技术人员公知的,电路包括一系列模拟和数字电子组件,其一起形成无线电接收机和发射机。这些组件例如包括带通滤波器、放大器、混频器、本地振荡器、低通滤波器、AD/DA转换器等。
该智能终端还可以包括读卡装置530,该读卡装置530用于读出SIM卡的信息并以此为根据协作无线射频接口571接入运营商所提供的网络。
本发明实施方式的装置不涉及对安卓相机硬件抽象层进行封装,而是对硬件抽象层以上的安卓相机服务功能接口进行转换,使得在glibc环境下能够调用安卓环境下的相机功能接口,并不需要在系统运行时都在后台运行相机服务,而是在相机启动时才建立相机服务,进行数据传输,节约了系统资源,提高了运行效率。而且由于相机服务是直接调用相机硬件抽象层的,不论相机硬件抽象层如何变化,都要遵循相机服务的规则,本发明的方案不需要针对不同的硬件抽象层设计不同的封装方式,后期维护也很方便。
本发明提供的在glibc环境下控制安卓相机的方法可以使用可编程逻辑器件来实现,也可以实施为计算机程序产品,该程序产品使计算机执行用于所示范的方法。计算机程序产品包括计算机可读存储介质,该介质上包含计算机程序逻辑或代码部分,用于实现上述方法的各个步骤。计算机可读存储介质可以是被安装在计算机中的内置介质或者可从计算机主体拆卸的可移动介质(例如可热拔插的存储设备)。内置介质包括但不限于可重写的非易失性存储器,例如RAM、ROM和硬盘。可移动介质包括但不限于:光存储媒体(例如CD-ROM和DVD)、磁光存储媒体(例如MO)、磁存储媒体(例如磁带或移动硬盘)、具有内置的可重写的非易失性存储器的媒体(例如存储卡)和具有内置ROM的媒体(例如ROM盒)。
本领域技术人员应当理解,任何具有适当编程装置的计算机系统都能够执行包含在计算机程序产品中的本发明的方法的诸步骤。尽管本说明书中描述的多数具体实施方式都侧重于软件程序,但是以硬件方式实现本发明提供的方法的替代实施例同样在本发明要求保护的范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,在权利要求的等同要件的含义和范围内的所有变化均涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他部件、单元或步骤,单数不排除复数。权利要求中陈述的多个部件、单元或装置也可以由一个部件、单元或装置通过软件或者硬件来实现。
以上所披露的仅为本发明的一些较佳实施例,不能以此来限定本发明权利要求的保护范围,依照本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (10)

1.一种在glibc环境下控制安卓相机的方法,其特征在于,所述方法包括:
将bionic环境下的安卓相机服务中的功能接口通过Libhybris技术转换成glibc环境能调用的功能接口;
基于GStreamer框架生成能够对转换后的功能接口进行调用的相机插件;
通过相机管道接收来自相机应用模块的相机操作命令,驱动所述相机插件调用所述转换后的功能接口,对相机硬件进行操作;
由所述相机插件通过所述转换后的功能接口接收相机硬件生成的数据,并将数据经由所述相机管道返回所述相机应用模块。
2.根据权利要求1所述的方法,其特征在于,通过相机管道接收来自相机应用模块的相机操作命令,驱动所述相机插件调用所述转换后的功能接口,对相机硬件进行操作包括:
通过与所述相机操作命令对应的相机管道接收来自相机应用模块的所述相机操作命令;
由所述对应的相机管道驱动所述相机插件中与所述操作命令对应的相机源;
由所述对应的相机源调用所述转换后的功能接口中与所述操作命令对应的功能接口,对相机硬件进行操作。
3.根据权利要求1所述的方法,其特征在于,由所述相机插件通过转换后的功能接口接收相机硬件生成的数据并将数据经由所述相机管道返回所述相机应用模块包括:
由所述转换后的功能接口中与所述操作命令对应的功能接口接收来自相机硬件生成的数据;
由所述对应的功能接口将所述数据发送给所述相机插件中与所述操作命令对应的相机源;
由所述对应的相机源将所述数据发送给与所述相机操作命令对应的相机管道;
由所述对应的相机管道将所述数据输出给所述相机应用模块。
4.根据权利要求2所述的方法,其特征在于,所述相机管道包括:照相管道、预览管道和录像管道;所述相机插件包括:照相源、预览源和录像源;所述转换后的接口包括:照相接口、预览接口和录像接口;
所述照相管道驱动所述照相源,所述照相源调用所述照相接口;
所述预览管道驱动所述预览源,所述预览源调用所述预览接口;
所述录像管道驱动所述录像源,所述录像源调用所述录像接口。
5.一种在glibc环境下控制安卓相机的装置,其特征在于,所述装置包括:相机管道、相机插件以及功能接口;所述功能接口是将bionic环境下的安卓相机服务中的功能接口通过Libhybris技术转换成的glibc环境能调用的功能接口;所述相机插件是基于GStreamer框架生成的能够对转换后的功能接口进行调用的相机插件;
所述相机管道,接收来自相机应用模块的相机操作命令,驱动所述相机插件调用所述转换后的功能接口,对相机硬件进行操作;
所述相机插件,通过所述转换后的功能接口接收相机硬件生成的数据,并将数据经由所述相机管道返回所述相机应用模块。
6.根据权利要求5所述的装置,其特征在于:
所述相机管道,通过与所述相机操作命令对应的相机管道接收来自相机应用模块的所述相机操作命令,并由所述对应的相机管道驱动所述相机插件中与所述操作命令对应的相机源;
所述相机插件,由所述对应的相机源调用所述功能接口中与所述操作命令对应的功能接口,对相机硬件进行操作。
7.根据权利要求5所述的装置,其特征在于:
所述功能接口,通过所述功能接口中与所述操作命令对应的功能接口接收来自相机硬件的数据,并将所述数据发送给所述相机插件中与所述操作命令对应的相机源;
所述相机插件,由所述对应的相机源将所述数据发送给与所述相机操作命令对应的相机管道;
所述相机管道,由所述对应的相机管道将所述数据输出给所述相机应用模块。
8.根据权利要求6所述的装置,其特征在于:所述相机管道包括:照相管道、预览管道和录像管道;所述相机插件包括照相源、预览源和录像源;所述转换后的接口包括:照相接口、预览接口和录像接口;
所述照相管道,驱动所述照相源;
所述照相源,调用所述照相接口;
所述预览管道,驱动所述预览源;
所述预览源,调用所述预览接口;
所述录像管道,驱动所述录像源;
所述录像源,调用所述录像接口。
9.根据权利要求8所述的照相管道,其特征在于,所述照相管道包括:
过滤单元,接收来自所述照相源的图片数据,对图片类型进行过滤;
图片输出单元,将过滤后的图片提供给相机应用模块。
10.一种移动设备,其特征在于,所述移动设备包括:权利要求5-9中任意一项权利要求所述的在glibc环境下控制安卓相机的装置、相机硬件以及相机应用模块;
所述相机应用模块,通过所述在glibc环境下控制安卓相机的装置控制所述相机硬件的操作,并通过所述在glibc环境下控制安卓相机的装置接收来自相机硬件的数据;
所述相机硬件,接收来自所述在glibc环境下控制安卓相机的装置的相机操作命令,执行相应的相机操作,并通过所述在glibc环境下控制安卓相机的装置将相机硬件的数据返回给所述相机应用模块。
CN201410816044.1A 2014-12-23 2014-12-23 在glibc环境下控制安卓相机的方法、装置及移动设备 Active CN104484181B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410816044.1A CN104484181B (zh) 2014-12-23 2014-12-23 在glibc环境下控制安卓相机的方法、装置及移动设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410816044.1A CN104484181B (zh) 2014-12-23 2014-12-23 在glibc环境下控制安卓相机的方法、装置及移动设备

Publications (2)

Publication Number Publication Date
CN104484181A true CN104484181A (zh) 2015-04-01
CN104484181B CN104484181B (zh) 2018-05-18

Family

ID=52758725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410816044.1A Active CN104484181B (zh) 2014-12-23 2014-12-23 在glibc环境下控制安卓相机的方法、装置及移动设备

Country Status (1)

Country Link
CN (1) CN104484181B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105472457A (zh) * 2015-03-27 2016-04-06 深圳Tcl数字技术有限公司 基于视频启动播放方法及视频启动装置
CN107613369A (zh) * 2017-10-10 2018-01-19 青岛海信电器股份有限公司 基于GStreamer框架的视频播放方法、装置及电子设备
CN108037924A (zh) * 2017-12-11 2018-05-15 中国电子科技集团公司第三十二研究所 glibc和bionic的驱动自适配系统及方法
CN111510627A (zh) * 2020-04-23 2020-08-07 Oppo广东移动通信有限公司 相机的启动方法和装置、终端和可读存储介质
WO2021057351A1 (zh) * 2019-09-24 2021-04-01 中兴通讯股份有限公司 在glibc环境下控制安卓蓝牙的装置、方法及终端设备
CN113990354A (zh) * 2021-12-29 2022-01-28 北京鲸鲮信息系统技术有限公司 基于Linux的音频控制方法、装置、设备和存储介质
CN113986368A (zh) * 2021-12-29 2022-01-28 北京鲸鲮信息系统技术有限公司 基于Linux的相机控制方法、装置、设备及存储介质
CN116708988A (zh) * 2022-02-25 2023-09-05 荣耀终端有限公司 电子设备及其拍摄方法、介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080127217A1 (en) * 2006-09-05 2008-05-29 Oracle International Corporation Mechanism for Developing AJax Applications Using Java Swing Framework and Method for Using the Same
CN102006311A (zh) * 2010-12-28 2011-04-06 青岛海信网络科技股份有限公司 一种流媒体多功能分发系统和方法
CN102547394A (zh) * 2011-12-27 2012-07-04 福建升腾资讯有限公司 Vdi环境下云接入设备通用的音视频重定向方法
CN102984571A (zh) * 2012-12-07 2013-03-20 青岛海信信芯科技有限公司 数字电视中Gstreamer读取外部数据的方法及其装置
CN103559150A (zh) * 2013-11-08 2014-02-05 深圳市道通科技有限公司 主机外置摄像头的实现方法和装置及移动终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080127217A1 (en) * 2006-09-05 2008-05-29 Oracle International Corporation Mechanism for Developing AJax Applications Using Java Swing Framework and Method for Using the Same
CN102006311A (zh) * 2010-12-28 2011-04-06 青岛海信网络科技股份有限公司 一种流媒体多功能分发系统和方法
CN102547394A (zh) * 2011-12-27 2012-07-04 福建升腾资讯有限公司 Vdi环境下云接入设备通用的音视频重定向方法
CN102984571A (zh) * 2012-12-07 2013-03-20 青岛海信信芯科技有限公司 数字电视中Gstreamer读取外部数据的方法及其装置
CN103559150A (zh) * 2013-11-08 2014-02-05 深圳市道通科技有限公司 主机外置摄像头的实现方法和装置及移动终端

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105472457A (zh) * 2015-03-27 2016-04-06 深圳Tcl数字技术有限公司 基于视频启动播放方法及视频启动装置
CN105472457B (zh) * 2015-03-27 2018-11-02 深圳Tcl数字技术有限公司 基于视频启动播放方法及视频启动装置
CN107613369A (zh) * 2017-10-10 2018-01-19 青岛海信电器股份有限公司 基于GStreamer框架的视频播放方法、装置及电子设备
CN107613369B (zh) * 2017-10-10 2020-06-16 海信视像科技股份有限公司 基于GStreamer框架的视频播放方法、装置及电子设备
CN108037924A (zh) * 2017-12-11 2018-05-15 中国电子科技集团公司第三十二研究所 glibc和bionic的驱动自适配系统及方法
WO2021057351A1 (zh) * 2019-09-24 2021-04-01 中兴通讯股份有限公司 在glibc环境下控制安卓蓝牙的装置、方法及终端设备
CN111510627A (zh) * 2020-04-23 2020-08-07 Oppo广东移动通信有限公司 相机的启动方法和装置、终端和可读存储介质
CN111510627B (zh) * 2020-04-23 2022-03-18 Oppo广东移动通信有限公司 相机的启动方法和装置、终端和可读存储介质
CN113990354A (zh) * 2021-12-29 2022-01-28 北京鲸鲮信息系统技术有限公司 基于Linux的音频控制方法、装置、设备和存储介质
CN113986368A (zh) * 2021-12-29 2022-01-28 北京鲸鲮信息系统技术有限公司 基于Linux的相机控制方法、装置、设备及存储介质
WO2023124007A1 (zh) * 2021-12-29 2023-07-06 北京字节跳动网络技术有限公司 基于Linux的相机控制方法、装置、设备和存储介质
CN116708988A (zh) * 2022-02-25 2023-09-05 荣耀终端有限公司 电子设备及其拍摄方法、介质

Also Published As

Publication number Publication date
CN104484181B (zh) 2018-05-18

Similar Documents

Publication Publication Date Title
CN104484181A (zh) 在glibc环境下控制安卓相机的方法、装置及移动设备
CN110377250A (zh) 一种投屏场景下的触控方法及电子设备
WO2019005952A1 (en) METHOD FOR PROCESSING MULTIPLE BLOCK CHAINS NETWORK DATA, APPARATUS, AND SERVER
CN104869305A (zh) 处理图像数据的方法及其装置
CN111158779B (zh) 一种数据处理方法和相关设备
CN110944018A (zh) 一种基于注解和动态代理的rpc通信方法及设备、介质
CN106598554B (zh) 一种代码生成装置
CN103929607A (zh) 基于屏幕录制的通信方法及应用客户端
EP4095723B1 (en) Permission reuse method, permission reuse-based resource access method, and related device
CN102473100A (zh) 使用软件包装组件提供多媒体功能的方法、设备和计算机程序
CN113014614A (zh) 一种设备控制方法、控制设备及被控设备
CN105320499A (zh) 一种应用程序的适配方法和相关装置
CN115599265A (zh) 一种智能设备控制方法、终端设备、服务器和存储介质
CN116795435A (zh) 兼容性管控方法及相关设备
CN103399752A (zh) 基于互联网服务的手机应用连锁反应系统及方法
CN114675786A (zh) 一种大容量存储挂载方法、装置、终端及介质
CN110852717A (zh) 一种行程更新方法和智能通信终端
CN111142648B (zh) 一种数据处理方法和智能终端
WO2022141970A1 (zh) 布控方法及装置、电子设备、存储介质和计算机程序
WO2024114344A1 (zh) 一种文件管理方法及电子设备
CN104038519A (zh) 基于短距离无线通讯实现联网社交的方法及系统
CN116662270B (zh) 文件解析方法及相关装置
CN112306444A (zh) 移动终端及其投影方法
CN116106941A (zh) 一种构建具有北斗时空服务的应用的平台和方法
CN116800814A (zh) 一种数据中继方法、服务器、终端设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210129

Address after: 101300 room 153, 1 / F, building 17, 16 Caixiang East Road, Nancai Town, Shunyi District, Beijing

Patentee after: Yuanxin Information Technology Group Co.,Ltd.

Address before: 100176 room 408-27, building 8, No.1, Disheng North Street, economic and Technological Development Zone, Daxing District, Beijing (centralized office area)

Patentee before: BEIJING YUANXIN SCIENCE & TECHNOLOGY Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20150401

Assignee: Beijing Yuanxin Junsheng Technology Co.,Ltd.

Assignor: Yuanxin Information Technology Group Co.,Ltd.

Contract record no.: X2021110000018

Denomination of invention: Method, device and mobile device for controlling Android camera in glibc environment

Granted publication date: 20180518

License type: Common License

Record date: 20210531