CN114063966A - 音频处理方法、装置、电子设备及计算机可读存储介质 - Google Patents
音频处理方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114063966A CN114063966A CN202111300829.XA CN202111300829A CN114063966A CN 114063966 A CN114063966 A CN 114063966A CN 202111300829 A CN202111300829 A CN 202111300829A CN 114063966 A CN114063966 A CN 114063966A
- Authority
- CN
- China
- Prior art keywords
- audio data
- indication information
- thread
- audio
- target
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/165—Management of the audio stream, e.g. setting of volume, audio stream path
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例提供了一种音频处理方法、装置、电子设备及计算机可读存储介质,涉及数据处理领域。该方法应用于音频线程,包括:接收指示播放初始音频数据的第一指示信息,向工作者线程发送第二指示信息;其中,第二指示信息指示工作者线程读取目标音频数据,并将目标音频数据发送至音频线程;目标音频数据包括初始音频数据中的部分音频数据;接收目标音频数据,向渲染进程发送第三指示信息;其中,第三指示信息指示渲染进程播放目标音频数据。本申请实施例通过音频线程和工作者线程进行交互,将一整段初始音频数据划分为多段大小合适的目标音频数据进行处理,有效提升了音频数据的处理效率。
Description
技术领域
本申请涉及数据处理领域,具体而言,本申请涉及一种音频处理方法、装置、电子设备及计算机可读存储介质。
背景技术
音频数据在多媒体数据的运行中占据重要作用,一般而言,一段音频数据在播放前,电子设备需要对音频数据进行相应的处理。
电子设备的音频处理过程尤其是在游戏等应用场景中,工作者线程读取整段音频数据,直至全部读取完毕再传输给音频线程,解析操作和解码操作同样如此。因此在音频数据较大时,播放可能存在延迟以及卡顿的现象。
发明内容
本申请实施例提供了一种音频处理方法、装置、电子设备及计算机可读存储介质,用于解决现有技术中音频处理效率较低的技术问题。
根据本申请实施例的一个方面,提供了一种音频处理方法,应用于音频线程,该方法包括:
接收指示播放初始音频数据的第一指示信息,向工作者线程发送第二指示信息;其中,第二指示信息指示工作者线程读取目标音频数据,并将目标音频数据发送至音频线程;目标音频数据包括初始音频数据中的部分音频数据;
接收目标音频数据,向渲染进程发送第三指示信息;其中,第三指示信息指示渲染进程播放目标音频数据。
可选地,接收指示播放初始音频数据的第一指示信息,向工作者线程发送第二指示信息,包括:
接收指示播放初始音频数据的第一指示信息,确定未缓存初始音频数据的情况下,向工作者线程发送第二指示信息。
可选地,向工作者线程发送第二指示信息,包括:
确定线程池中存在一个空闲的工作者线程,向工作者线程发送第二指示信息;线程池中存在至少两个工作者线程。
可选地,接收目标音频数据,向渲染进程发送第三指示信息,包括:
接收目标音频数据,将目标音频数据进行缓存,向渲染进程发送第三指示信息。
根据本申请实施例的一个方面,提供了一种音频处理方法,应用于工作者线程,该方法包括:
接收音频线程发送的第二指示信息;
响应于第二指示信息,读取目标音频数据,并将目标音频数据发送至音频线程;目标音频数据包括初始音频数据中的部分音频数据。
可选地,响应于第二指示信息,读取目标音频数据,并将目标音频数据发送至音频线程,包括:
响应于第二指示信息,读取目标音频数据;
对目标音频数据进行解析处理和解码处理,得到对应的脉冲编码调制PCM数据;
将PCM数据发送至音频线程。
根据本申请实施例的一个方面,提供了一种音频处理装置,该装置包括:
第一指示模块,用于接收指示播放初始音频数据的第一指示信息,向工作者线程发送第二指示信息;其中,第二指示信息指示工作者线程读取目标音频数据,并将目标音频数据发送至音频线程;目标音频数据包括初始音频数据中的部分音频数据;
第二指示模块,用于接收目标音频数据,向渲染进程发送第三指示信息;其中,第三指示信息指示渲染进程播放目标音频数据。
可选地,第一指示模块具体用于接收指示播放初始音频数据的第一指示信息,确定未缓存初始音频数据的情况下,向工作者线程发送第二指示信息。
可选地,第一指示模块包括:
第一发送模块,用于确定线程池中存在一个空闲的工作者线程,向工作者线程发送第二指示信息;线程池中存在至少两个工作者线程。
可选地,第二指示模块具体用于接收目标音频数据,将目标音频数据进行缓存,向渲染进程发送第三指示信息。
根据本申请实施例的一个方面,提供了一种音频处理装置,该装置包括:
接收模块,用于接收音频线程发送的第二指示信息;
处理模块,用于响应于第二指示信息,读取目标音频数据,并将目标音频数据发送至音频线程;目标音频数据包括初始音频数据中的部分音频数据。
可选地,处理模块包括:
读取模块,用于响应于第二指示信息,读取目标音频数据;
处理子模块,用于对目标音频数据进行解析处理和解码处理,得到对应的脉冲编码调制PCM数据;
第二发送模块,用于将PCM数据发送至音频线程。
根据本申请实施例的另一个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,处理器执行计算机程序以实现上述任一个方面的音频处理方法的步骤。
根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一个方面的音频处理方法的步骤。
本申请实施例提供的技术方案带来的有益效果是:
通过音频线程和工作者线程进行交互,将一整段较大的初始音频数据划分为大小合适的目标音频数据进行处理,有效提升了音频数据的处理效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种音频处理方法的流程示意图之一;
图2为本申请实施例提供的一种音频处理方法的流程示意图之二;
图3为本申请实施例提供的一种音频处理装置的结构示意图之一;
图4为本申请实施例提供的一种音频处理装置的结构示意图之二;
图5为本申请实施例提供的一种音频处理的电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”指示实现为“A”,或者实现为“A”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
本申请实施例中提供了一种音频处理方法,应用于音频线程,如图1所示,具体包括:
步骤S101,接收指示播放初始音频数据的第一指示信息,向工作者线程发送第二指示信息;其中,第二指示信息指示工作者线程读取目标音频数据,并将目标音频数据发送至音频线程;目标音频数据包括初始音频数据中的部分音频数据。
音频数据的处理主要通过音频线程与工作者线程进行交互来实现。音频线程负责控制整个音频数据的处理流程,工作者线程负责音频数据的实际处理操作。
音频线程接收指示播放初始音频数据的第一指示信息,向工作者线程发送第二指示信息。
其中,初始音频数据为需要播放的一整段音频数据,第一指示信息为指示音频线程播放初始音频数据的指示信息。例如,在游戏这一应用场景中,用户在游戏客户端触发一个需要播放音频数据的操作,游戏线程向音频线程发送播放音频数据的请求,即游戏线程向音频线程发送第一指示信息。需要说明的是,这里的游戏应用场景仅作示例,本申请实施例所提供的音频处理方法可以应用于任何音频处理的场景中,以下不再赘述。
第二指示信息可以理解为音频线程指示工作者线程对初始音频数据进行处理的指示信息。音频线程向工作者线程发送第二指示信息,指示工作者线程读取目标音频数据,并将目标音频数据发送至音频线程。其中,目标音频数据包括初始音频数据中的部分音频数据。
具体而言,当需要播放的初始音频数据较大时,工作者线程先读取其中的部分音频数据,也就是目标音频数据,对目标音频数据进行处理,并将处理后的目标音频数据发送至音频线程。
当一段目标音频数据处理完成后,工作者线程再对初始音频数据中的其他部分音频数据进行一一处理。这样,将较大的初始音频数据分段处理并播放,能够有效提升音频数据的处理效率,避免音频播放出现卡顿或延迟的问题。
实际应用中,一段目标音频数据的大小可以由用户来自行设定,满足不同场景下的音频处理需求。
步骤S102,接收目标音频数据,向渲染进程发送第三指示信息;其中,第三指示信息指示渲染进程播放目标音频数据。
音频线程接收工作者线程读取并处理后的目标音频数据,向渲染进程发送第三指示信息。第三指示信息为指示渲染进程播放该目标音频数据的指示信息。
渲染进程接收第三指示信息,通过调用相应的硬件播放接口,播放目标音频数据。
具体而言,渲染进程检测到目标音频数据即将播放完毕时,还可以主动向音频线程发起音频数据的播放请求,启用pipeline流水线机制,指示工作者线程对未播放的初始音频数据进行流水线化处理。流水线化处理是指将一整段初始音频数据划分为多段目标音频数据,其中一段目标音频数据处理完成后,进行下一段目标音频数据的处理。
应用本申请实施例提供的一种音频处理方法,接收指示播放初始音频数据的第一指示信息,向工作者线程发送第二指示信息;其中,第二指示信息指示工作者线程读取目标音频数据,并将目标音频数据发送至音频线程;目标音频数据包括初始音频数据中的部分音频数据;接收目标音频数据,向渲染进程发送第三指示信息;其中,第三指示信息指示渲染进程播放目标音频数据。
本申请实施例通过音频线程和工作者线程进行交互,将一整段较大的初始音频数据划分为大小合适的目标音频数据进行处理,基于流水线化处理的方式,有效提升了音频数据的处理效率,使得音频数据较大时,也能正常播放。
本申请实施例中提供了一种音频处理方法,应用于音频线程,如图1所示,具体包括:
步骤S101,接收指示播放初始音频数据的第一指示信息,向工作者线程发送第二指示信息;其中,第二指示信息指示工作者线程读取目标音频数据,并将目标音频数据发送至音频线程;目标音频数据包括初始音频数据中的部分音频数据。
音频数据的处理主要通过音频线程与工作者线程进行交互来实现。音频线程负责整个音频数据的处理流程,工作者线程负责音频数据的实际处理操作。
音频线程接收指示播放初始音频数据的第一指示信息,向工作者线程发送第二指示信息。
其中,初始音频数据为需要播放的一整段音频数据,第一指示信息为指示音频线程播放初始音频数据的指示信息。例如,在游戏这一应用场景中,用户在游戏客户端触发一个需要播放音频数据的操作,游戏线程向音频线程发送播放音频数据的请求,即游戏线程向音频线程发送第一指示信息。需要说明的是,这里的游戏应用场景仅作示例,本申请实施例所提供的音频处理方法可以应用于任何音频处理的场景中,以下不再赘述。
第二指示信息可以理解为音频线程指示工作者线程对初始音频数据进行处理的指示信息。音频线程向工作者线程发送第二指示信息,指示工作者线程读取目标音频数据,并将目标音频数据发送至音频线程。其中,目标音频数据包括初始音频数据中的部分音频数据。
具体而言,当需要播放的初始音频数据较大时,工作者线程先读取其中的部分音频数据,也就是目标音频数据,对目标音频数据进行处理,并将处理后的目标音频数据发送至音频线程。
当一段目标音频数据处理完成后,工作者线程再对初始音频数据中的其他部分音频数据进行一一处理。这样,将较大的初始音频数据分段处理并播放,能够有效提升音频数据的处理效率,避免音频播放出现卡顿或延迟的问题。
实际应用中,一段目标音频数据的大小可以由用户来自行设定,满足不同场景下的音频处理需求。
本申请一种优选实施例中,接收指示播放初始音频数据的第一指示信息,向工作者线程发送第二指示信息,包括:
接收指示播放初始音频数据的第一指示信息,确定未缓存初始音频数据的情况下,向工作者线程发送第二指示信息。
音频线程接收播放初始音频数据的第一指示信息,根据第一指示信息确定本地是否存在已缓存的初始音频数据。其中,第一指示信息包括初始音频数据的数据来源信息,例如网络地址信息或者本地存储路径等。
当本地存在已缓存的初始音频数据时,也就是本地存在可以直接播放的初始音频数据时,音频线程可以根据第一指示信息直接获取初始音频数据,指示渲染进程播放初始音频数据。当本地不存在缓存的初始音频数据时,音频线程启用pipeline流水线机制,向工作者线程发送第二指示信息,指示工作者线程对初始音频数据进行流水线化处理。
本申请一种优选实施例中,向工作者线程发送第二指示信息,包括:确定线程池中存在一个空闲的工作者线程,向工作者线程发送第二指示信息;线程池中存在至少两个工作者线程。
工作者线程存在于线程池当中,线程池中存在至少两个工作者线程。也就是说,线程池中存在多个工作者线程。
音频线程先确定线程池中存在一个空闲的工作者线程,再向空闲的工作者线程发送第二指示信息,给空闲的工作者线程分配处理任务。工作者线程根据第二指示信息执行处理任务完成后,回归空闲状态,等待分配下一个处理任务。
不同的工作者线程可以同时对不同的初始音频数据进行处理,每一个工作者线程只能处理一段初始音频数据。
例如,在游戏这一应用场景中,一个操作可能对应多段不同的音频数据。那么,音频线程可以将不同的初始音频数据分配给不同的工作者线程来处理,提升音频数据的处理效率。
一个工作者线程还可以包括多个子线程,子线程负责对音频数据进行读取、解析和解码等具体的处理操作。
工作者线程在子线程的作用下,读取初始音频数据中的目标音频数据,对目标音频数据进行处理,得到可以播放的预设格式的目标音频数据,发送至音频线程。
步骤S102,接收目标音频数据,向渲染进程发送第三指示信息;其中,第三指示信息指示渲染进程播放目标音频数据。
音频线程接收工作者线程读取并处理后的目标音频数据,向渲染进程发送第三指示信息。第三指示信息为指示渲染进程播放该目标音频数据的指示信息。
渲染进程接收第三指示信息,通过调用相应的硬件播放接口,播放目标音频数据。
具体而言,渲染进程检测到目标音频数据即将播放完毕时,还可以主动向音频线程发起音频数据的播放请求,启用pipeline流水线机制,指示工作者线程对未播放的初始音频数据进行流水线化处理。
本申请一种优选实施例中,接收目标音频数据,向渲染进程发送第三指示信息,包括:
接收目标音频数据,将目标音频数据进行缓存,向渲染进程发送第三指示信息。
音频线程接收工作者线程读取并处理后的目标音频数据时,还可以将能够直接播放的目标音频数据缓存在本地,这样,当再次接收到播放同样的初始音频数据的第一指示信息时,就可以直接指示渲染进程播放,无需工作者线程进行处理了。
本申请实施例中,工作者线程在对目标音频数据进行处理时,一个具体的处理操作完成后就向音频线程反馈对应的处理结果。
例如,音频线程指示工作者线程读取目标音频数据,工作者线程将读取的目标音频数据反馈至音频线程,然后音频线程指示工作者线程对目标音频数据进行数据解析操作,工作者线程将解析后的目标音频数据反馈至音频线程,最后音频线程指示工作者线程对目标音频数据进行数据解码操作,工作者线程将解码得到的PCM(Pulse CodeModulation,脉冲编码调制)数据反馈至音频线程。
这样,音频线程向工作者线程发送指示信息,通过指示信息控制音频数据的全部处理过程,避免出现处理错误或处理中断的问题,能够优化音频数据的处理流程,有效提升音频数据的处理效率。
应用本申请实施例提供的一种音频处理方法,接收指示播放初始音频数据的第一指示信息,向工作者线程发送第二指示信息;其中,第二指示信息指示工作者线程读取目标音频数据,并将目标音频数据发送至音频线程;目标音频数据包括初始音频数据中的部分音频数据;接收目标音频数据,向渲染进程发送第三指示信息;其中,第三指示信息指示渲染进程播放目标音频数据。
本申请实施例通过音频线程和工作者线程进行交互,将一整段较大的初始音频数据划分为大小合适的目标音频数据进行处理,基于流水线化处理的方式,有效提升了音频数据的处理效率,使得音频数据较大时,也能正常播放。
本申请实施例中提供了一种音频处理方法,应用于工作者线程,如图2所示,具体包括:
步骤S201,接收音频线程发送的第二指示信息。
音频数据的处理主要通过音频线程与工作者线程进行交互来实现。音频线程负责整个音频数据的处理流程,工作者线程负责音频数据的实际处理操作。
工作者线程接收音频线程发送的第二指示信息,其中,第二指示信息可以理解为音频线程指示工作者线程对初始音频数据进行处理的指示信息。初始音频数据为需要播放的一整段音频数据。
步骤S202,响应于第二指示信息,读取目标音频数据,并将目标音频数据发送至音频线程;目标音频数据包括初始音频数据中的部分音频数据。
具体而言,当需要播放的初始音频数据较大时,工作者线程先读取其中的部分音频数据,也就是目标音频数据,对目标音频数据进行处理,并将处理后的目标音频数据发送至音频线程。
当一段目标音频数据处理完成后,工作者线程再对初始音频数据中的其他部分音频数据进行一一处理。这样,将较大的初始音频数据分段处理并播放,能够有效提升音频数据的处理效率,避免音频播放出现卡顿或延迟的问题。
实际应用中,一段目标音频数据的大小可以由用户来自行设定,满足不同场景下的音频处理需求。
本申请一种优选实施例中,响应于第二指示信息,读取目标音频数据,并将目标音频数据发送至音频线程,包括:
响应于第二指示信息,读取目标音频数据;
对目标音频数据进行解析处理和解码处理,得到对应的脉冲编码调制PCM数据;
将PCM数据发送至音频线程。
一个工作者线程可以包括多个子线程,子线程负责对音频数据进行读取、解析和解码等具体的处理操作。子线程的音频数据处理过程是串行进行的,即一个子线程完成相应的处理任务后,将数据传递给下一个子线程进行下一步处理。
工作者线程响应于第二指示信息,根据第二指示信息读取初始音频数据对应的合理大小的目标音频数据。
初始音频数据可能是多种格式的音频数据,例如常见的mp3、wav等格式,也就是说,初始音频数据对应的目标音频数据也可能是多种格式的音频数据。工作者线程需要对目标音频数据进行解析处理,得到格式统一的音频压缩数据包,进一步,工作者线程对音频压缩数据包进行解码,得到对应的脉冲编码调制PCM数据。
PCM数据是一种可以直接播放的固定格式的音频数据,工作者线程将处理得到的PCM数据发送至音频线程,然后根据pipeline(管线)流水线机制对初始音频数据中未处理的其他部分音频数据进行读取和处理,直至一整段初始音频数据处理完成,工作者线程回归空闲状态,等待分配下一个处理任务。
本申请实施例中,工作者线程在对目标音频数据进行处理时,一个具体的处理操作完成后就向音频线程反馈对应的处理结果。
例如,音频线程指示工作者线程读取目标音频数据,工作者线程将读取的目标音频数据反馈至音频线程,然后音频线程指示工作者线程对目标音频数据进行数据解析操作,工作者线程将解析后的目标音频数据反馈至音频线程,最后音频线程指示工作者线程对目标音频数据进行数据解码操作,工作者线程将解码得到的PCM数据反馈至音频线程。
这样,音频线程向工作者线程发送指示信息,通过指示信息控制音频数据的全部处理过程,避免出现处理错误或处理中断的问题,能够优化音频数据的处理流程,有效提升音频数据的处理效率。
应用本申请实施例提供的一种音频处理方法,接收音频线程发送的第二指示信息,响应于第二指示信息,读取目标音频数据,并将目标音频数据发送至音频线程;目标音频数据包括初始音频数据中的部分音频数据。
本申请实施例通过音频线程和工作者线程进行交互,将一整段较大的初始音频数据划分为大小合适的目标音频数据进行处理,有效提升了音频数据的处理效率。
本申请实施例提供了一种音频处理装置,如图3所示,该音频处理装置30可以包括:
第一指示模块301,用于接收指示播放初始音频数据的第一指示信息,向工作者线程发送第二指示信息;其中,第二指示信息指示工作者线程读取目标音频数据,并将目标音频数据发送至音频线程;目标音频数据包括初始音频数据中的部分音频数据;
第二指示模块302,用于接收目标音频数据,向渲染进程发送第三指示信息;其中,第三指示信息指示渲染进程播放目标音频数据。
本申请一种优选实施例中,第一指示模块301具体用于接收指示播放初始音频数据的第一指示信息,确定未缓存初始音频数据的情况下,向工作者线程发送第二指示信息。
本申请一种优选实施例中,第一指示模块301包括:
第一发送模块,用于确定线程池中存在一个空闲的工作者线程,向工作者线程发送第二指示信息;线程池中存在至少两个工作者线程。
本申请一种优选实施例中,第二指示模块302具体用于接收目标音频数据,将目标音频数据进行缓存,向渲染进程发送第三指示信息。
应用本申请实施例提供的一种音频处理装置,接收指示播放初始音频数据的第一指示信息,向工作者线程发送第二指示信息;其中,第二指示信息指示工作者线程读取目标音频数据,并将目标音频数据发送至音频线程;目标音频数据包括初始音频数据中的部分音频数据;接收目标音频数据,向渲染进程发送第三指示信息;其中,第三指示信息指示渲染进程播放目标音频数据。
本申请实施例通过音频线程和工作者线程进行交互,将一整段较大的初始音频数据划分为大小合适的目标音频数据进行处理,基于流水线化处理的方式,有效提升了音频数据的处理效率,使得音频数据较大时,也能正常播放。
本申请实施例提供了一种音频处理装置,如图4所示,该音频处理装置40可以包括:
接收模块401,用于接收音频线程发送的第二指示信息;
处理模块402,用于响应于第二指示信息,读取目标音频数据,并将目标音频数据发送至音频线程;目标音频数据包括初始音频数据中的部分音频数据。
本申请一种优选实施例中,处理模块402包括:
读取模块,用于响应于第二指示信息,读取目标音频数据;
处理子模块,用于对目标音频数据进行解析处理和解码处理,得到对应的脉冲编码调制PCM数据;
第二发送模块,用于将PCM数据发送至音频线程。
应用本申请实施例提供的一种音频处理装置,接收音频线程发送的第二指示信息,响应于第二指示信息,读取目标音频数据,并将目标音频数据发送至音频线程;目标音频数据包括初始音频数据中的部分音频数据。
本申请实施例通过音频线程和工作者线程进行交互,将一整段较大的初始音频数据划分为大小合适的目标音频数据进行处理,有效提升了音频数据的处理效率。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现音频处理方法的步骤,与现有技术相比可实现:通过音频线程和工作者线程进行交互,将一整段较大的初始音频数据划分为大小合适的目标音频数据进行处理,有效提升了音频数据的处理效率。
在一个可选实施例中提供了一种电子设备,如图5所示,图5所示的电子设备5000包括:处理器5001和存储器5003。其中,处理器5001和存储器5003相连,如通过总线5002相连。可选地,电子设备5000还可以包括收发器5004,收发器5004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器5004不限于一个,该电子设备5000的结构并不构成对本申请实施例的限定。
处理器5001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器5001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线5002可包括一通路,在上述组件之间传送信息。总线5002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线5002可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器5003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器5003用于存储执行本申请实施例的计算机程序,并由处理器5001来控制执行。处理器5001用于执行存储器5003中存储的计算机程序,以实现前述方法实施例所示的步骤。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (10)
1.一种音频处理方法,应用于音频线程,其特征在于,包括:
接收指示播放初始音频数据的第一指示信息,向工作者线程发送第二指示信息;其中,所述第二指示信息指示所述工作者线程读取目标音频数据,并将所述目标音频数据发送至所述音频线程;所述目标音频数据包括所述初始音频数据中的部分音频数据;
接收所述目标音频数据,向渲染进程发送第三指示信息;其中,所述第三指示信息指示所述渲染进程播放所述目标音频数据。
2.根据权利要求1所述的音频处理方法,其特征在于,所述接收指示播放初始音频数据的第一指示信息,向工作者线程发送第二指示信息,包括:
接收指示播放初始音频数据的第一指示信息,确定未缓存所述初始音频数据的情况下,向工作者线程发送第二指示信息。
3.根据权利要求2所述的音频处理方法,其特征在于,所述向工作者线程发送第二指示信息,包括:
确定线程池中存在一个空闲的工作者线程,向所述工作者线程发送第二指示信息;所述线程池中存在至少两个工作者线程。
4.根据权利要求1所述的音频处理方法,其特征在于,所述接收所述目标音频数据,向渲染进程发送第三指示信息,包括:
接收所述目标音频数据,将所述目标音频数据进行缓存,向渲染进程发送第三指示信息。
5.一种音频处理方法,应用于工作者线程,其特征在于,包括:
接收音频线程发送的第二指示信息;
响应于所述第二指示信息,读取目标音频数据,并将所述目标音频数据发送至所述音频线程;所述目标音频数据包括初始音频数据中的部分音频数据。
6.根据权利要求5所述音频处理方法,其特征在于,所述响应于所述第二指示信息,读取目标音频数据,并将所述目标音频数据发送至所述音频线程,包括:
响应于所述第二指示信息,读取目标音频数据;
对所述目标音频数据进行解析处理和解码处理,得到对应的脉冲编码调制PCM数据;
将所述PCM数据发送至所述音频线程。
7.一种音频处理装置,应用于音频线程,其特征在于,包括:
第一指示模块,用于接收指示播放初始音频数据的第一指示信息,向工作者线程发送第二指示信息;其中,所述第二指示信息指示所述工作者线程读取目标音频数据,并将所述目标音频数据发送至所述音频线程;所述目标音频数据包括所述初始音频数据中的部分音频数据;
第二指示模块,用于接收所述目标音频数据,向渲染进程发送第三指示信息;其中,所述第三指示信息指示所述渲染进程播放所述目标音频数据。
8.一种音频处理装置,应用于工作者线程,其特征在于,包括:
接收模块,用于接收音频线程发送的第二指示信息;
处理模块,用于响应于所述第二指示信息,读取目标音频数据,并将所述目标音频数据发送至所述音频线程;所述目标音频数据包括初始音频数据中的部分音频数据。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1至6任一项所述的音频处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的音频处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111300829.XA CN114063966A (zh) | 2021-11-04 | 2021-11-04 | 音频处理方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111300829.XA CN114063966A (zh) | 2021-11-04 | 2021-11-04 | 音频处理方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114063966A true CN114063966A (zh) | 2022-02-18 |
Family
ID=80273852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111300829.XA Pending CN114063966A (zh) | 2021-11-04 | 2021-11-04 | 音频处理方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114063966A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110582021A (zh) * | 2019-09-26 | 2019-12-17 | 深圳市商汤科技有限公司 | 信息处理方法及装置、电子设备和存储介质 |
CN111163345A (zh) * | 2018-11-07 | 2020-05-15 | 杭州海康威视系统技术有限公司 | 一种图像渲染方法及装置 |
CN112671742A (zh) * | 2020-12-17 | 2021-04-16 | 北京百度网讯科技有限公司 | 音频卡顿的处理方法、装置、电子设备和存储介质 |
US20210274246A1 (en) * | 2018-06-20 | 2021-09-02 | Hangzhou Hikvision Digital Technology Co., Ltd. | Data Processing Method and Apparatus, Electronic Device, System, and Storage Medium |
-
2021
- 2021-11-04 CN CN202111300829.XA patent/CN114063966A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210274246A1 (en) * | 2018-06-20 | 2021-09-02 | Hangzhou Hikvision Digital Technology Co., Ltd. | Data Processing Method and Apparatus, Electronic Device, System, and Storage Medium |
CN111163345A (zh) * | 2018-11-07 | 2020-05-15 | 杭州海康威视系统技术有限公司 | 一种图像渲染方法及装置 |
CN110582021A (zh) * | 2019-09-26 | 2019-12-17 | 深圳市商汤科技有限公司 | 信息处理方法及装置、电子设备和存储介质 |
CN112671742A (zh) * | 2020-12-17 | 2021-04-16 | 北京百度网讯科技有限公司 | 音频卡顿的处理方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101477434B1 (ko) | 멀티미디어 프로세서에서의 비순서적 커맨드 실행 | |
US11128879B2 (en) | Hybrid decoding | |
US10007613B2 (en) | Reconfigurable fetch pipeline | |
CN106791919A (zh) | 多媒体信息处理方法、装置和电子设备 | |
CN110688160B (zh) | 一种指令流水线处理方法、系统、设备及计算机存储介质 | |
CN113395541A (zh) | 视频文件的生成方法、装置及系统 | |
CN112445538B (zh) | 可重构处理器的配置加载系统及方法 | |
CN110995817A (zh) | 请求回调方法、装置及客户端设备 | |
CN114035967A (zh) | 一种基于服务器的资源共享渲染方法和装置 | |
CN114063966A (zh) | 音频处理方法、装置、电子设备及计算机可读存储介质 | |
CN116467235B (zh) | 一种基于dma的数据处理方法、装置、电子设备及介质 | |
US20230206527A1 (en) | Special-effect editing method and apparatus | |
CN111338803A (zh) | 一种线程处理方法和装置 | |
US20150066175A1 (en) | Audio processing in multiple latency domains | |
JP2007300613A (ja) | ソフトウェアモジュールの組合せによってdspコードを生成する装置及びその方法 | |
US11677902B2 (en) | Data processing method and related product | |
US20110197202A1 (en) | Handling Messages in a Computing Device | |
CN110764710A (zh) | 低延迟高iops的数据访问方法与存储系统 | |
CN113741946B (zh) | 公共接口函数库的裁剪方法、装置、设备及可读存储介质 | |
CN111240756B (zh) | 一种图形功能的处理模式可配置的应用程序的执行方法 | |
JP2013539577A (ja) | インタラプト・ベースのコマンド処理 | |
US9336557B2 (en) | Apparatus and methods for processing of media signals | |
CN114666514B (zh) | 数据处理方法、装置、电子设备和存储介质 | |
WO2024104306A1 (zh) | 多媒体资源处理方法、装置、设备及介质 | |
CN117135403A (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 |