CN110704202A - 多媒体录制数据共享方法及终端设备 - Google Patents

多媒体录制数据共享方法及终端设备 Download PDF

Info

Publication number
CN110704202A
CN110704202A CN201810750357.XA CN201810750357A CN110704202A CN 110704202 A CN110704202 A CN 110704202A CN 201810750357 A CN201810750357 A CN 201810750357A CN 110704202 A CN110704202 A CN 110704202A
Authority
CN
China
Prior art keywords
multimedia
recording
data
application program
multimedia data
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
CN201810750357.XA
Other languages
English (en)
Other versions
CN110704202B (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.)
Ubtech Robotics Corp
Original Assignee
Ubtech Robotics Corp
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 Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN201810750357.XA priority Critical patent/CN110704202B/zh
Priority to US16/355,873 priority patent/US20200021772A1/en
Publication of CN110704202A publication Critical patent/CN110704202A/zh
Application granted granted Critical
Publication of CN110704202B publication Critical patent/CN110704202B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3856Reordering of instructions, e.g. using queues or age tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space

Abstract

本发明涉及计算机技术领域,提供了一种多媒体录制数据共享方法及终端设备。该方法包括:在接收到第一应用程序的录制请求后,创建第一服务录制线程;通过所述第一服务录制线程获取多媒体录制装置录制的第一多媒体数据,将所述第一多媒体数据返回至第一应用程序,并将所述第一多媒体数据保存至第一存储空间;在所述第一服务录制线程运行时若接收到第二应用程序的录制请求,则创建第二服务录制线程;通过所述第二服务录制线程从所述第一存储空间中获取所述第一多媒体数据,并将所述第一多媒体数据返回至所述第二应用程序。本发明能够满足多个应用程序同时进行多媒体录制的需求,提升用户使用体验。

Description

多媒体录制数据共享方法及终端设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种多媒体录制数据共享方法及终端设备。
背景技术
现有的终端设备操作系统同时只允许一个应用程序进行多媒体录制,例如麦克风等录音装置同时只能被一个录音线程占用。在一个应用程序正在录音时,如果另一应用程序也需要进行录音,那么系统不会允许另一应用程序的录音制请求。目前终端设备同时只允许一个应用程序进行多媒体录制,无法满足多个应用程序同时进行多媒体录制的需求,导致使用不便。
发明内容
有鉴于此,本发明实施例提供了多媒体录制数据共享方法及终端设备,以解决目前终端设备同时只允许一个应用程序进行多媒体录制,无法满足多个应用程序同时进行多媒体录制的需求,导致使用不便的问题。
本发明实施例的第一方面提供了多媒体录制数据共享方法,包括:
在接收到第一应用程序的录制请求后,创建第一服务录制线程;
通过所述第一服务录制线程获取多媒体录制装置录制的第一多媒体数据,将所述第一多媒体数据返回至第一应用程序,并将所述第一多媒体数据保存至第一存储空间;
在所述第一服务录制线程运行时若接收到第二应用程序的录制请求,则创建第二服务录制线程;
通过所述第二服务录制线程从所述第一存储空间中获取所述第一多媒体数据,并将所述第一多媒体数据返回至所述第二应用程序。
本发明实施例的第二方面提供了多媒体录制数据共享装置,包括:
第一创建模块,用于在接收到第一应用程序的录制请求后,创建第一服务录制线程;
第一处理模块,用于通过所述第一服务录制线程获取多媒体录制装置录制的第一多媒体数据,将所述第一多媒体数据返回至第一应用程序,并将所述第一多媒体数据保存至第一存储空间;
第二创建模块,用于在所述第一服务录制线程运行时若接收到第二应用程序的录制请求,则创建第二服务录制线程;
第二处理模块,用于通过所述第二服务录制线程从所述第一存储空间中获取所述第一多媒体数据,并将所述第一多媒体数据返回至所述第二应用程序。
本发明实施例的第三方面提供了终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面中的多媒体录制数据共享方法。
本发明实施例的第四方面提供了计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中的多媒体录制数据共享方法。
本发明实施例与现有技术相比存在的有益效果是:通过在接收到第一应用程序的录制请求后,创建第一服务录制线程;通过所述第一服务录制线程获取多媒体录制装置录制的第一多媒体数据,将所述第一多媒体数据返回至第一应用程序,并将所述第一多媒体数据保存至第一存储空间;在所述第一服务录制线程运行时若接收到第二应用程序的录制请求,则创建第二服务录制线程;通过所述第二服务录制线程从所述第一存储空间中获取所述第一多媒体数据,并将所述第一多媒体数据返回至所述第二应用程序,实现了多个应用程序同时进行多媒体录制。本发明实施例通过允许第二应用程序的第二服务录制线程的创建,并通过第二服务录制线程从第一存储空间中获取第一多媒体数据,能够在第一应用程序进行多媒体录制时,使其它的一个或多个应用程序也获得多媒体数据同时进行录制,能够满足多个应用程序同时进行多媒体录制的需求,提升用户使用体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的多媒体录制数据共享方法的实现流程图;
图2是本发明一个实施例提供的多媒体录制数据共享方法实施示例的流程示意图;
图3是本发明实施例提供的多媒体录制数据共享方法中对第一多媒体数据进行重采样处理的实现流程图;
图4是本发明另一实施例提供的多媒体录制数据共享方法的实现流程图;
图5是本发明另一实施例提供的多媒体录制数据共享方法实施示例的流程示意图;
图6是本发明实施例提供的多媒体录制数据共享装置的示意图;
图7是本发明实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1为本发明实施例提供的多媒体录制数据共享方法的实现流程图,详述如下:
在S101中,在接收到第一应用程序的录制请求后,创建第一服务录制线程。
在本实施例中,终端设备可以是能够进行多媒体录制的电子设备,如手机、平板电脑、计算机等。终端设备上的操作系统可以是Android,iOS,Linux,Windows等操作系统。多媒体录制可以为音频录制、视频录制等。为便于说明,下文中以安卓系统的终端设备进行音频录制为例进行说明,但并不作为限定。
如图2所示,音频录制过程中安卓系统大致可以分为三层,即Java层、Native层和Linux内核层。其中,Java层用于运行应用程序;Native层用于线程管理;Linux内核层用于硬件管理。AudioRecord是Java层应用程序在Native层的服务;AudioFlinger与AudioPolicyService是在Native层的服务,用于实现音频录制;AudioFlinger管理着多个服务录音线程,用于处理录音数据,AudioPolicyService主要用于控制服务录音线程的开启(start)、暂停(stop)和释放(release);每个AudioRecord在AudioFlinger中都对应着一个服务录音线程;Audio硬件抽象层负责操控麦克风硬件。图2中实线表示控制流,虚线表示数据流。
在本实施例中,在接收到第一应用程序的录制请求后,创建该录制请求对应的第一服务录制线程。例如,在接收到第一应用程序的录音请求后,创建该录音请求对应的第一服务录音线程。
在S102中,通过所述第一服务录制线程获取多媒体录制装置录制的第一多媒体数据,将所述第一多媒体数据返回至第一应用程序,并将所述第一多媒体数据保存至第一存储空间。
以图2中的音频录制为例,在第一应用程序录音时,第一服务录音线程通过Audio硬件抽象层从麦克风中获得录音的第一音频数据,通过AudioRecord将第一音频数据返回给第一应用程序,并将第一音频数据保存至第一存储空间。
可选地,所述第一存储空间为内存,所述内存的空间容量根据所述第一应用程序所需录制的多媒体数据的格式确定。
在本实施例中,可以由第一服务录制线程创建一个内存;或者将一个已经存在的内存作为多媒体数据的存储空间。其中,多媒体数据的录制格式包括但不限于采样率、采样位数、通道数中一种或多种。
以图2中的音频录制为例,该内存的大小可以由第一服务录音线程在Audio硬件抽象层实际的录音格式决定,比如采样率为44100HZ,采样位数为16bit,通道数为2;那么,该内存的大小(单位为字节)为:帧数*一帧数据量的大小(采样位数2*通道数2)。由于麦克风硬件工作时的延时会影响到帧数,Android官方针对双声道(通道数为2)、采样位数16bit、44100Hz的录音数据,给出的建议帧数是47.5。
另外,Android有一个标准接口AudioRecord::getMinFrameCount(size_t*frameCount,uint32_t sampleRate,audio_format_t format,audio_channel_mask_tchannelMask),也可以直接通过它算出储存不同的录音格式,需要的帧数frameCount和内存大小。
在S103中,在所述第一服务录制线程运行时若接收到第二应用程序的录制请求,则创建第二服务录制线程。
在本实施例中,在第一应用程序进行多媒体录制时接收到第二应用程序的录制请求,则创建并启动第二服务录制线程。以图2中的音频录制为例,第二服务录音线程创建完成后,AudioPolicyService需要在AudioFlinger有服务录音线程存在的情况下,允许第二服务端录音线程启动。
在S104中,通过所述第二服务录制线程从所述第一存储空间中获取所述第一多媒体数据,并将所述第一多媒体数据返回至所述第二应用程序。
在本实施例中,由于多媒体录制装置被第一服务录制线程占用,第二服务录制线程并不从多媒体录制装置获取多媒体数据,而是从第一存储空间中获取第一多媒体数据,将第一多媒体数据返回至第二应用程序,从而实现多个应用程序同时进行多媒体录制。
以图2的音频录制为例,第二服务录音线程不从Audio硬件抽象层获得录音数据,而是从第一存储空间中读取录音数据。
本发明实施例通过在接收到第一应用程序的录制请求后,创建第一服务录制线程;通过所述第一服务录制线程获取多媒体录制装置录制的第一多媒体数据,将所述第一多媒体数据返回至第一应用程序,并将所述第一多媒体数据保存至第一存储空间;在所述第一服务录制线程运行时若接收到第二应用程序的录制请求,则创建第二服务录制线程;通过所述第二服务录制线程从所述第一存储空间中获取所述第一多媒体数据,并将所述第一多媒体数据返回至所述第二应用程序,实现了多个应用程序同时进行多媒体录制。本发明实施例通过允许第二应用程序的第二服务录制线程的创建,并通过第二服务录制线程从第一存储空间中获取第一多媒体数据,能够在第一应用程序进行多媒体录制时,使其它的一个或多个应用程序也获得多媒体数据同时进行录制,能够满足多个应用程序同时进行多媒体录制的需求,提升用户使用体验。
作为本发明的一个实施例,如图3所示,S104可以包括:
在S301中,通过所述第二服务录制线程从所述第一存储空间中获取所述第一多媒体数据。
在S302中,获取所述第一多媒体数据的第一多媒体格式信息,并获取第二应用程序所需录制的第二多媒体格式信息。
在本实施例中,多媒体格式信息可以包括但不限于采样率、采样位数、通道数中一种或多种。获取第一多媒体数据的第一多媒体格式信息可以通过获取第一应用程序所需的多媒体格式确定,也可以通过第一存储空间中第一多媒体数据的格式确定。
作为本发明的一个实施例,S102中“将所述第一多媒体数据保存至第一存储空间”可以包括:
将所述第一多媒体数据保存至第一存储空间,记录所述第一多媒体数据的第一多媒体格式信息。
S302中“获取所述第一多媒体数据的第一多媒体格式信息”可以包括:
获取记录的第一多媒体格式信息。
在本实施例中,第一多媒体格式信息可以以成员变量的形式进行记录。以图2中的音频录制为例,AudioFlinger服务在创建第一服务录音线程时,会在AudioFlinger服务中创建一块内存,并将第一服务录音线程在Audio硬件抽象层实际录音的音频格式(采样率、采样位数、通道数)记录在三个成员变量中。可以通过对成员变量的读取来获取记录的第一多媒体格式信息。具体可以通过以下几种方式实现:
方式一:直接在AudioFlinger中创建四个成员变量,分别记录内存地址、采样率、采样位数、通道数;并设置两个方法(内存写入方法和内存读取方法)分别用于写入和读取内存中的数据,供服务录音线程使用;
方式二:创建一个新类,将方式一中的四个成员变量、两个方法封装到里面。这种方式可以先在AudioFlinegr中创建一个该类的对象,再创建对象内部的内存,最后将第一服务录音线程在Audio硬件抽象层实际录音的音频格式记录到对象中三个相关的成员变量;
方式三:借助Android原生的libnbaio.so多媒体库实现。
在S303中,对比所述第一多媒体格式信息和所述第二多媒体格式信息。
在S304中,若所述第一多媒体格式信息和所述第二多媒体格式信息不一致,则对所述第一多媒体数据进行重采样处理。
在本实施例中,由于不同的应用程序所需录制的多媒体格式可能不同,因此可以通过对比第一多媒体格式信息和第二多媒体格式信息来判断。若第一多媒体格式信息和第二多媒体格式信息一致,则表征第二应用程序所需录制的多媒体格式与第一应用程序录制的多媒体格式相同,因此可以直接将第一存储空间中的第一多媒体数据返回至第二应用程序;若第一多媒体格式信息和第二多媒体格式信息不一致,则表征第二应用程序所需录制的多媒体格式与第一应用程序录制的多媒体格式不相同,第二应用程序不能直接使用第一存储空间中的第一多媒体数据,因此可以对第一多媒体数据进行重采样处理。
其中,重采样处理可以包括通道数、采样位数转换等的数据处理。重采样处理可以通过调用Android的标准接口实现,也可以通过设置重采样处理程序模块实现。例如可以将采样率为44100Hz的数据经过重采样得到采样率为48000Hz的数据。
在S305中,将经过所述重采样处理后的第一多媒体数据返回至所述第二应用程序。
本实施例通过在第一多媒体格式信息和第二多媒体格式信息不一致的情况下,对第一多媒体数据进行重采样处理,使得重采样后的第一多媒体数据符合第二应用程序的需求,从而实现多个应用程序同时进行多媒体录制。
作为本发明的一个实施例,如图4所示,该方法还可以包括:
在S401中,在所述第一服务录制线程结束后,通过所述第二服务录制线程获取多媒体录制装置录制的第二多媒体音频数据,将第二多媒体数据返回至第二应用程序,并将第二多媒体数据保存至第二存储空间。
在本实施例中,第一应用程序和第二应用程序同时进行多媒体录制,如果第一应用程序结束多媒体录制,那么第一存储空间的数据不会再进行更新,第二应用程序从第一存储空间中读取不到多媒体数据。由于此时只有第二应用程序进行多媒体录制,因此可以在第一服务录制进程结束后,第二服务录制线程可以获取多媒体录制装置录制的第二多媒体音频数据,将第二多媒体数据返回至第二应用程序,并将第二多媒体数据保存至第二存储空间。如果之后有第三应用程序需要进行多媒体录制,则可以从第二存储空间中获取多媒体数据。
其中,第一服务录制线程结束可以是线程停止或释放等。第二多媒体数据的格式为第二应用程序所需录制的格式。第二存储空间可以是与第一存储空间为同一存储空间,也可以是第二服务录制线程重新创建的存储空间,在此不作限定。
以图5中的音频录制为例,如果第一应用程序停止或者释放录音,那么AudioFlinge中内存的数据不会再更新,第二应用程序会出现读取不到录音数据的问题。因此,在第二服务录音线程得知第一服务端录音线程停止或者释放后,不会从AudioFlinger中内存读取录音数据,而是走Android系统原生的通道,从Audio硬件抽象层读取录音数据,并将从Audio硬件抽象层读取的录音数据写入AudioFlinger中的内存。
本实施例在第一服务录制线程停止或释放后,使第二服务录制线程直接从多媒体录制装置中获取多媒体数据,能够保证第二应用程序不受第一应用程序影响,继续进行多媒体录制。另外通过将多媒体数据保存到第二存储空间,使得之后其它应用程序也能够同时顺利地进行多媒体录制。
作为本发明的一个实施例,在S401之前可以包括:
接收所述第一服务录制线程发送的结束消息;
或者记录每次通过所述第二服务录制线程从所述第一存储空间中获取到的数据量;若通过所述第二服务录制线程从所述第一存储空间中获取到的数据量为零的次数大于预设次数阈值,则判定所述第一服务录制线程结束。
在本实施例中,获得第一应用程序停止或者释放的消息可以通过两种方式:
方式一,第一服务录制线程结束前向第二服务录制线程发送结束消息,第二服务录制线程接收第一服务录制线程发送的结束消息。
方式二,记录每次通过第二服务录制线程从第一存储空间中获取到的多媒体数据的数据量;若通过第二服务录制线程从第一存储空间中获取到的数据量为零的次数超过预设次数阈值,则表征第一存储空间中的多媒体数据未进行更新,此时判定第一服务录制线程结束。
以图5中的音频录制为例,第一服务录音线程1通过AudioFlinger服务,通知第二服务端录音线程,自己即将停止或者释放;或者在第一服务录音线程停止或者释放后,第二服务录音线程接着从内存中读取录音数据,当第二服务录音线程读取n次(>=1)后,发现数据量均为0,此时就可以认为第一服务录音线程已经停止或者释放。
本发明实施例通过保存第一个应用程序的多媒体数据到一个内存(缓冲区)中,然后其他应用程序从该内存获得多媒体数据的方法,让多个录制不同多媒体格式(采样率、采样位数、通道数)的应用程序的能够同时进行多媒体录制。每个应用程序拿到多媒体数据后,利用这些数据可以同时做不同的功能和操作,这样有助于提高系统的交互能力。
本发明实施例的改进集中在系统的Native层,不涉及Java层,只是在系统现有的框架上修改,不会增加额外的开销,不会增加多媒体录制的时间。因此,不需要修改应用程序的任何接口和代码,就可以实现同时多媒体录制的功能,保证了对Java层的兼容性。在不修改系统框架,不修改应用程序代码,且不增加多媒体录制时间的情况下,能够简单快速地实现多个应用程序同时进行多媒体录制。
本发明实施例通过在接收到第一应用程序的录制请求后,创建第一服务录制线程;通过所述第一服务录制线程获取多媒体录制装置录制的第一多媒体数据,将所述第一多媒体数据返回至第一应用程序,并将所述第一多媒体数据保存至第一存储空间;在所述第一服务录制线程运行时若接收到第二应用程序的录制请求,则创建第二服务录制线程;通过所述第二服务录制线程从所述第一存储空间中获取所述第一多媒体数据,并将所述第一多媒体数据返回至所述第二应用程序,实现了多个应用程序同时进行多媒体录制。本发明实施例通过允许第二应用程序的第二服务录制线程的创建,并通过第二服务录制线程从第一存储空间中获取第一多媒体数据,能够在第一应用程序进行多媒体录制时,使其它的一个或多个应用程序也获得多媒体数据同时进行录制,能够满足多个应用程序同时进行多媒体录制的需求,提升用户使用体验。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的无线网络连接方法,图6示出了本发明实施例提供的多媒体录制数据共享装置的示意图。为了便于说明,仅示出了与本实施例相关的部分。
参照图6,该装置包括第一创建模块61、第一处理模块62、第二创建模块63和第二处理模块64。
第一创建模块61,用于在接收到第一应用程序的录制请求后,创建第一服务录制线程。
第一处理模块62,用于通过所述第一服务录制线程获取多媒体录制装置录制的第一多媒体数据,将所述第一多媒体数据返回至第一应用程序,并将所述第一多媒体数据保存至第一存储空间。
第二创建模块63,用于在所述第一服务录制线程运行时若接收到第二应用程序的录制请求,则创建第二服务录制线程。
第二处理模块64,用于通过所述第二服务录制线程从所述第一存储空间中获取所述第一多媒体数据,并将所述第一多媒体数据返回至所述第二应用程序。
可选地,所述第一存储空间为内存,所述内存的空间容量根据所述第一应用程序所需录制的多媒体数据的格式确定。
可选地,所述第二处理模块64用于:
通过所述第二服务录制线程从所述第一存储空间中获取所述第一多媒体数据;
获取所述第一多媒体数据的第一多媒体格式信息,并获取第二应用程序所需录制的第二多媒体格式信息;
对比所述第一多媒体格式信息和所述第二多媒体格式信息;
若所述第一多媒体格式信息和所述第二多媒体格式信息不一致,则对所述第一多媒体数据进行重采样处理;
将经过所述重采样处理后的第一多媒体数据返回至所述第二应用程序。
可选地,所述第一处理模块62用于:
将所述第一多媒体数据保存至第一存储空间,记录所述第一多媒体数据的第一多媒体格式信息。
所述第二处理模块64用于:
获取记录的第一多媒体格式信息。
可选地,该装置还包括第三处理模块,所述第三处理模块用于:
在所述第一服务录制线程结束后,通过所述第二服务录制线程获取多媒体录制装置录制的第二多媒体音频数据,将第二多媒体数据返回至第二应用程序,并将第二多媒体数据保存至第二存储空间。
可选地,所述第三处理模块还用于:
接收所述第一服务录制线程发送的结束消息;
或者记录每次通过所述第二服务录制线程从所述第一存储空间中获取到的数据量;若通过所述第二服务录制线程从所述第一存储空间中获取到的数据量为零的次数大于预设次数阈值,则判定所述第一服务录制线程结束。
可选地,所述第一多媒体数据包括音频数据或视频数据。
本发明实施例通过在接收到第一应用程序的录制请求后,创建第一服务录制线程;通过所述第一服务录制线程获取多媒体录制装置录制的第一多媒体数据,将所述第一多媒体数据返回至第一应用程序,并将所述第一多媒体数据保存至第一存储空间;在所述第一服务录制线程运行时若接收到第二应用程序的录制请求,则创建第二服务录制线程;通过所述第二服务录制线程从所述第一存储空间中获取所述第一多媒体数据,并将所述第一多媒体数据返回至所述第二应用程序,实现了多个应用程序同时进行多媒体录制。本发明实施例通过允许第二应用程序的第二服务录制线程的创建,并通过第二服务录制线程从第一存储空间中获取第一多媒体数据,能够在第一应用程序进行多媒体录制时,使其它的一个或多个应用程序也获得多媒体数据同时进行录制,能够满足多个应用程序同时进行多媒体录制的需求,提升用户使用体验。
图7是本发明一实施例提供的终端设备的示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如程序。所述处理器70执行所述计算机程序72时实现上述各个方法实施例中的步骤,例如图1所示的步骤101至104。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示模块61至64的功能。
示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。例如,所述计算机程序72可以被分割成第一创建模块、第一处理模块、第二创建模块和第二处理模块,各模块具体功能如下:
第一创建模块,用于在接收到第一应用程序的录制请求后,创建第一服务录制线程;
第一处理模块,用于通过所述第一服务录制线程获取多媒体录制装置录制的第一多媒体数据,将所述第一多媒体数据返回至第一应用程序,并将所述第一多媒体数据保存至第一存储空间;
第二创建模块,用于在所述第一服务录制线程运行时若接收到第二应用程序的录制请求,则创建第二服务录制线程;
第二处理模块,用于通过所述第二服务录制线程从所述第一存储空间中获取所述第一多媒体数据,并将所述第一多媒体数据返回至所述第二应用程序。
所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线、显示器等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种多媒体录制数据共享方法,其特征在于,包括:
在接收到第一应用程序的录制请求后,创建第一服务录制线程;
通过所述第一服务录制线程获取多媒体录制装置录制的第一多媒体数据,将所述第一多媒体数据返回至第一应用程序,并将所述第一多媒体数据保存至第一存储空间;
在所述第一服务录制线程运行时若接收到第二应用程序的录制请求,则创建第二服务录制线程;
通过所述第二服务录制线程从所述第一存储空间中获取所述第一多媒体数据,并将所述第一多媒体数据返回至所述第二应用程序。
2.如权利要求1所述的多媒体录制数据共享方法,其特征在于,所述第一存储空间为内存,所述内存的空间容量根据所述第一应用程序所需录制的多媒体数据的格式确定。
3.如权利要求1所述的多媒体录制数据共享方法,其特征在于,所述通过所述第二服务录制线程从所述第一存储空间中获取所述第一多媒体数据,并将所述第一多媒体音频数据返回至所述第二应用程序包括:
通过所述第二服务录制线程从所述第一存储空间中获取所述第一多媒体数据;
获取所述第一多媒体数据的第一多媒体格式信息,并获取第二应用程序所需录制的第二多媒体格式信息;
对比所述第一多媒体格式信息和所述第二多媒体格式信息;
若所述第一多媒体格式信息和所述第二多媒体格式信息不一致,则对所述第一多媒体数据进行重采样处理;
将经过所述重采样处理后的第一多媒体数据返回至所述第二应用程序。
4.如权利要求3所述的多媒体录制数据共享方法,其特征在于,所述将所述第一多媒体数据保存至第一存储空间包括:
将所述第一多媒体数据保存至第一存储空间,记录所述第一多媒体数据的第一多媒体格式信息;
所述获取所述第一多媒体数据的第一多媒体格式信息包括:
获取记录的第一多媒体格式信息。
5.如权利要求1所述的多媒体录制数据共享方法,其特征在于,还包括:
在所述第一服务录制线程结束后,通过所述第二服务录制线程获取多媒体录制装置录制的第二多媒体音频数据,将第二多媒体数据返回至第二应用程序,并将第二多媒体数据保存至第二存储空间。
6.如权利要求5所述的多媒体录制数据共享方法,其特征在于,在所述通过所述第二服务录制线程获取多媒体录制装置录制的第二多媒体数据之前,还包括:
接收所述第一服务录制线程发送的结束消息;
或者记录每次通过所述第二服务录制线程从所述第一存储空间中获取到的数据量;若通过所述第二服务录制线程从所述第一存储空间中获取到的数据量为零的次数大于预设次数阈值,则判定所述第一服务录制线程结束。
7.如权利要求1至6任一项所述的录音数据共享方法,其特征在于,所述第一多媒体数据包括音频数据或视频数据。
8.一种多媒体录制数据共享装置,其特征在于,包括:
第一创建模块,用于在接收到第一应用程序的录制请求后,创建第一服务录制线程;
第一处理模块,用于通过所述第一服务录制线程获取多媒体录制装置录制的第一多媒体数据,将所述第一多媒体数据返回至第一应用程序,并将所述第一多媒体数据保存至第一存储空间;
第二创建模块,用于在所述第一服务录制线程运行时若接收到第二应用程序的录制请求,则创建第二服务录制线程;
第二处理模块,用于通过所述第二服务录制线程从所述第一存储空间中获取所述第一多媒体数据,并将所述第一多媒体数据返回至所述第二应用程序。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
CN201810750357.XA 2018-07-10 2018-07-10 多媒体录制数据共享方法及终端设备 Active CN110704202B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810750357.XA CN110704202B (zh) 2018-07-10 2018-07-10 多媒体录制数据共享方法及终端设备
US16/355,873 US20200021772A1 (en) 2018-07-10 2019-03-18 Multimedia recording data obtaining method and terminal device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810750357.XA CN110704202B (zh) 2018-07-10 2018-07-10 多媒体录制数据共享方法及终端设备

Publications (2)

Publication Number Publication Date
CN110704202A true CN110704202A (zh) 2020-01-17
CN110704202B CN110704202B (zh) 2022-08-05

Family

ID=69139329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810750357.XA Active CN110704202B (zh) 2018-07-10 2018-07-10 多媒体录制数据共享方法及终端设备

Country Status (2)

Country Link
US (1) US20200021772A1 (zh)
CN (1) CN110704202B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111540385A (zh) * 2020-04-26 2020-08-14 西安广和通无线软件有限公司 录音数据共用方法、装置、计算机设备和存储介质
CN111897603A (zh) * 2020-07-23 2020-11-06 上海瑾盛通信科技有限公司 数据分发方法、装置、电子设备和存储介质
CN112181676A (zh) * 2020-08-26 2021-01-05 深圳市优必选科技股份有限公司 共享录音数据的方法、装置、终端设备及可读存储介质
CN113225510A (zh) * 2021-04-30 2021-08-06 深圳创维-Rgb电子有限公司 电视节目刻录方法、装置、设备及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI674030B (zh) 2018-12-05 2019-10-01 PopWorld Inc. 智慧多媒體傳送系統及方法
US20220342684A1 (en) * 2019-12-19 2022-10-27 Intel Corporation Hardware based abstraction sharing of hardware devices across computing platforms
CN111324754B (zh) * 2020-03-11 2023-12-15 北京奇艺世纪科技有限公司 一种时间轴信息的确定方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201734A (zh) * 2016-06-22 2016-12-07 北京小米移动软件有限公司 文件分享方法及装置
CN106504777A (zh) * 2016-11-25 2017-03-15 维沃移动通信有限公司 一种录音数据的处理方法及移动终端
CN106708612A (zh) * 2015-11-18 2017-05-24 中兴通讯股份有限公司 一种实现音频录制的方法及终端
CN107948663A (zh) * 2017-11-20 2018-04-20 腾讯数码(天津)有限公司 一种录音方法、客户端及终端设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708612A (zh) * 2015-11-18 2017-05-24 中兴通讯股份有限公司 一种实现音频录制的方法及终端
CN106201734A (zh) * 2016-06-22 2016-12-07 北京小米移动软件有限公司 文件分享方法及装置
CN106504777A (zh) * 2016-11-25 2017-03-15 维沃移动通信有限公司 一种录音数据的处理方法及移动终端
CN107948663A (zh) * 2017-11-20 2018-04-20 腾讯数码(天津)有限公司 一种录音方法、客户端及终端设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111540385A (zh) * 2020-04-26 2020-08-14 西安广和通无线软件有限公司 录音数据共用方法、装置、计算机设备和存储介质
CN111897603A (zh) * 2020-07-23 2020-11-06 上海瑾盛通信科技有限公司 数据分发方法、装置、电子设备和存储介质
CN111897603B (zh) * 2020-07-23 2024-02-09 上海瑾盛通信科技有限公司 数据分发方法、装置、电子设备和存储介质
CN112181676A (zh) * 2020-08-26 2021-01-05 深圳市优必选科技股份有限公司 共享录音数据的方法、装置、终端设备及可读存储介质
CN112181676B (zh) * 2020-08-26 2023-07-18 深圳市优必选科技股份有限公司 共享录音数据的方法、装置、终端设备及可读存储介质
CN113225510A (zh) * 2021-04-30 2021-08-06 深圳创维-Rgb电子有限公司 电视节目刻录方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US20200021772A1 (en) 2020-01-16
CN110704202B (zh) 2022-08-05

Similar Documents

Publication Publication Date Title
CN110704202B (zh) 多媒体录制数据共享方法及终端设备
CN108647089B (zh) 资源配置方法、装置、终端及存储介质
CN109542614B (zh) 资源配置方法、装置、终端及存储介质
CN107256707B (zh) 一种语音识别方法、系统及终端设备
CN109168021B (zh) 一种推流的方法及装置
CN110673964A (zh) 一种车载系统的音频播放控制方法和装置
CN107801095B (zh) 一种音视频解码方法及终端设备
WO2020063008A1 (zh) 资源配置方法、装置、终端及存储介质
CN111177025B (zh) 数据存储方法、装置及终端设备
CN108509240B (zh) 图片绘制方法及相关产品
CN109379548B (zh) 多媒体录制方法、装置、终端及存储介质
CN104899039A (zh) 用于在终端设备上提供截屏服务的方法和装置
US11209951B2 (en) Method and apparatus for displaying application program, terminal device, and storage medium
CN112954244A (zh) 监控录像的存储实现方法、装置、设备及存储介质
CN110191045A (zh) 一种信息分享方法、装置、终端及可读存储介质
CN111104178A (zh) 一种动态库加载方法、终端装置及存储介质
CN110908739B (zh) 与第三方Launcher实现数据对接的方法、装置及设备
US11012372B2 (en) Electronic apparatus and method for control thereof
CN107391128B (zh) 监控虚拟文件对象模型vdom的方法和装置
CN112328351A (zh) 动画显示方法、动画显示装置及终端设备
CN111782100A (zh) 背景图片的预览实现方法、装置、终端及存储介质
CN113027281A (zh) 提示对车窗进行控制的方法、系统、存储介质、及设备
CN112732568B (zh) 一种系统日志获取方法、装置、存储介质及终端
CN115348478B (zh) 设备交互显示方法、装置、电子设备及可读存储介质
CN107613341B (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
GR01 Patent grant
GR01 Patent grant