CN117492689B - 音频处理方法及电子设备 - Google Patents
音频处理方法及电子设备 Download PDFInfo
- Publication number
- CN117492689B CN117492689B CN202311830708.5A CN202311830708A CN117492689B CN 117492689 B CN117492689 B CN 117492689B CN 202311830708 A CN202311830708 A CN 202311830708A CN 117492689 B CN117492689 B CN 117492689B
- Authority
- CN
- China
- Prior art keywords
- audio
- chain
- electronic device
- track
- processing
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 230000000694 effects Effects 0.000 claims abstract description 235
- 238000012545 processing Methods 0.000 claims abstract description 164
- 238000000034 method Methods 0.000 claims abstract description 103
- 230000004044 response Effects 0.000 claims abstract description 25
- 230000008569 process Effects 0.000 claims description 55
- 239000000872 buffer Substances 0.000 claims description 49
- 230000015654 memory Effects 0.000 claims description 32
- 230000000007 visual effect Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000002156 mixing Methods 0.000 description 62
- 238000002360 preparation method Methods 0.000 description 23
- 239000010410 layer Substances 0.000 description 22
- 238000007726 management method Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000005236 sound signal Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000010183 spectrum analysis Methods 0.000 description 2
- 235000010894 Artemisia argyi Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 244000030166 artemisia Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000009290 primary effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/162—Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
本申请提供了音频处理方法及电子设备。在该方法中,电子设备在后台使用耳机播放音频时,响应于断开与耳机连接的操作,暂停播放音频,确认此时处理该音频的音效链包括AW音效链,将该音频的音轨标识从DTS音效集合中删除。因此,后续使用扬声器在前台播放的场景中,响应于连接耳机的操作,DTS音效集合中不包括该音频的音轨标识,电子设备能够将音轨标识加入DTS音效集合中。进而实现将处理音频的音效链中的AW音效链切换为DTS音效链。进而使用DTS音效链对音频进行处理,然后将处理后的音频输出至耳机进行播放。
Description
技术领域
本申请涉及终端及音频处理领域,尤其涉及音频处理方法及电子设备。
背景技术
电子设备中集成了系统原生提供的音效链和第三方提供的音效链。为了满足用户对音频播放效果的高要求,电子设备在处理音频的过程中,可以根据不同的场景使用不同的音效链来处理音频,并播放处理后的音频。这里不同的场景包括但不限于前台播放或者后台播放、使用扬声器播放或者使用耳机播放等。
如何使得电子设备在场景变化时能够使用当前场景对应的音效链对音频进行处理并播放,是值得讨论的问题。
发明内容
本申请提供了一种音频处理方法和电子设备,在后台使用耳机播放音频1时,如果断开与耳机的连接,电子设备可以成功将处理音频1所需音轨的音轨标识从DTS音效集合中删除,进而使得后续在前台使用扬声器播放切换至继续使用耳机播放音频1时,可以将该音轨标识重新加入DTS集合中以触发在音轨上使用的处理音频1的音效链从与扬声器适配的音效链(例如AW音效链)切换为与耳机适配的音效链(例如DTS音效链),进而保证后续插入耳机可以继续播放音频1。
第一方面,本申请提供了一种音频处理方法,该方法应用于电子设备,该方法包括:该电子设备通过耳机在后台播放第一音频的第一子音频,该第一子音频通过第一音效链在音轨上处理得到;响应于与该耳机断开连接的操作,该电子设备暂停播放该第一子音频,并将音轨标识从第一集合中删除,该音轨标识为该音轨的标识,该音轨标识在该第一集合中表示处理该第一音频中待播音频的音效链包括该第一音效链,该第一音效链为全局非原生音效链;响应于在前台继续播放该第一音频的操作,该电子设备使用扬声器播放该第一音频的第二子音频,该第二子音频由该电子设备通过第二音效链在该音轨上处理得到,该第二音效链包括全局原生音效链;响应于连接该耳机的操作,将该音轨标识加入该第一集合,在该音轨标识加入该第一集合时,该电子设备将处理该第一音频中待播音频的音效链从该第二音效链中的该全局原生音效链切换为该第一音效链;该电子设备通过该耳机在前台播放该第一音频的第三子音频,生成该第三子音频的过程中使用了该第一音效链。
上述实施例中,第一子音频可以看作在后台耳机播放场景中基于DTS音效链处理后得到的音频。第一音效链为DTS音效链,第二音效链包括全局原生音效链(例如AW音效链)。第二子音频可以看作在前台使用扬声器播放场景中基于全局原生音效链处理后音频。第三子音频可以看作在前台使用耳机播放是基于全局非原生音效链处理之后的音频。这里基于全局原生音效链表示处理音频的音效链中至少包括全局原生音效链,还可以包括其他的音效链或者音频处理基础,例如基础音效链等。
在后台使用耳机播放音频1时,如果断开与耳机的连接,电子设备可以成功将处理音频1所需音轨的音轨标识从DTS音效集合中删除,进而使得后续在前台使用扬声器播放切换至继续使用耳机播放音频1时,可以将该音轨标识重新加入DTS集合中以触发在音轨上使用的处理音频1的音效链从与扬声器适配的音效链(例如AW音效链)切换为与耳机适配的音效链(例如DTS音效链),进而保证后续插入耳机可以继续播放音频1。
结合第一方面,在一些实施例中,该电子设备通过该耳机在前台播放该第一音频的第三子音频之前,该方法还包括:该电子设备将第一缓冲区中的音频数据由传输至第二缓冲区更改为传输至第三缓冲区;该扬声器播放的音频数据由该第二缓冲区中的音频数据通过该第二音效链处理后得到;该耳机播放的音频由该第三缓冲区中的音频数据通过该第一音效链处理后得到。
这里第一缓冲区可以为实施例中的EffectChainBuffer。第二缓冲区可以为实施例中的EffectBuffer。第三缓冲区可以为实施例中的DTSEffectBuffer。
音频进入EffectChainBuffer之后,表示可以基于基础音效链对其进行处理,得到一些可视化的音频分析结果。
结合第一方面,在一些实施例中,该将该音轨标识加入该第一集合之前,该方法还包括:确定该第一集合中不包括该音轨标识。
结合第一方面,在一些实施例中,该方法还包括:使用第三音效链对该第一缓冲区中的音频数据进行处理,得到处理后的音频数据,该第三音效链为非全局原生音效链;将该处理后的音频数据传输至该第二缓冲区或该第三缓冲区。
结合第一方面,在一些实施例中,该电子设备暂停播放该第一子音频之前,该方法还包括:该电子设备将第四缓冲区中的音频数据拷贝到该第三缓冲区。
上述实施例中,第四缓冲区为说明书中的DTSMixerBuffer。
结合第一方面,在一些实施例中,该将音轨标识从第一集合中删除之前,该方法还包括:确认该电子设备支持使用该全局原生音效链处理该第一音频。
结合第一方面,在一些实施例中,该确认该电子设备支持使用该全局原生音效链处理该第一音频之前,该方法还包括:该电子设备确定生成该第一子音频的音效链中不包括该第三音效链,且该第一集合中包括该音轨标识。
结合第一方面,在一些实施例中,该电子设备通过该耳机在前台播放该第一音频的第三子音频之后,该方法还包括:响应于与该耳机断开连接的操作,暂停播放该第三子音频,且确定生成该第三子音频的音效链包括该第三音效链以及该第一集合中存在该音轨标识,将该音轨标识从该第一集合中删除。
结合第一方面,在一些实施例中,该电子设备通过耳机在后台播放第一音频的第一子音频时,第二集合中不包括该第三音效链的音效链标识;该第二集合用于记录生成该耳机或者该扬声器所播音频的过程中使用的音效链的音效链标识。
结合第一方面,在一些实施例中,该电子设备确定生成该第一子音频的音效链中不包括该第三音效链,具体包括:该电子设备确定在该第二集合中不包括该第三音效链的音效链标识。
结合第一方面,在一些实施例中,该全局原生音效链包括艾为AW音效链、音量增强音效链、均衡器音效链或者低音增强音效链中的至少一种;该非全局原生音效链包括可视化音效链;该全局非原生音效链包括数字剧院音效系统音效链、杜比音效链中的至少一种。
第二方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该电子设备执行如第一方面中实施的方法。
第三方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当该指令在电子设备上运行时,使得该电子设备执行如第一方面中实施的方法。
第四方面,本申请实施例提供了一种芯片系统,该芯片系统应用于电子设备,该芯片系统包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行如第一方面实施的方法。
第五方面,本申请实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行如第一方面实施的方法。
可以理解地,第二方面提供的电子设备、第三方面提供的计算机存储介质、第四方面提供的芯片系统和第五方面提供的计算机程序产品均用于执行本申请实施例所提供的方法。因此,其所能达到其他有益效果可参考对应方法中的有益效果,此处不再赘述。
附图说明
图1示出了耳机为有线耳机时耳机无法播放的场景示意图;
图2示出了在不同播放场景中处理音频时音频经过各子处理环节的数据流向示意图;
图3示出了buffer切换失败导致耳机无法播放的示意图;
图4示出了电子设备基于播放场景变换切换音效链的流程图;
图5A-图5C示例性示出了播放场景切换时涉及的示例性用户界面;
图6示例性示出了电子设备使用DTS音效链对音频进行处理的示例性流程图;
图7示例性示出了实施音频处理方法时涉及的示例性软件结构框图;
图8示出了音频处理时涉及的模块交互流程;
图9A-图9D示出了在各播放场景中音频经过各子处理环节的数据流向示意图;
图10是本申请实施例提供的电子设备的结构示意图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在一种方案中,响应于播放音频的操作,电子设备创建音轨。并基于播放场景对应的音效链在音轨上对音频进行处理后,播放处理后的音频。不同的播放场景下,使用的音效链不同。从一个播放场景切换至另一个播放场景时,电子设备对音频进行处理时使用的音效链也应该对应切换。
当播放场景由在后台使用耳机播放切换至在前台使用扬声器播放,再切换至前台使用耳机播放时,会导致音效链切换失败。因此切换至耳机之后,无法使用前台耳机播放场景对应的音效链对音频1进行处理,进而导致耳机无法播放。
图1示出了耳机为有线耳机时耳机无法播放的场景示意图。
如图1所示,电子设备在后台使用耳机进行播放(播放音频1)时,响应于用户拔出耳机的操作,电子设备暂停播放。后续,用户控制电子设备进入播放界面,在前台使用扬声器播放音频1。然后,用户插入耳机,但是耳机无法播放。
播放场景包括但不限于以下场景中的一种或多种:使用耳机播放或者使用扬声器播放。其中,使用耳机播放又包括在前台使用耳机播放和在后台使用耳机播放。使用扬声器播放又包括在前台使用扬声器播放和在后台使用扬声器播放。也可以理解为,播放场景包括在前台播放或者在后台播放。其中,在前台播放包括在前台使用耳机播放和在前台使用扬声器播放。在后台播放包括在后台使用耳机播放和在后台使用扬声器播放。
在前台播放的场景(在前台使用耳机播放和在前台使用扬声器播放)下,电子设备可以使用非全局原生音效链对音频进行处理。在后台播放的场景(在后台使用耳机播放和在后台使用扬声器播放)下,电子设备不可以使用非全局原生音效链对音频进行处理。在使用扬声器播放的场景下,电子设备可以使用全局原生音效链对音频进行处理。在使用耳机播放的场景下,电子设备可以使用全局非原生音效链对音频进行处理。
因此,播放场景为在前台使用扬声器播放时,处理音频所需的音效链包括非全局原生音效链和全局原生音效链。播放场景为在前台使用耳机播放时,处理音频所需的音效链包括非全局原生音效链和全局非原生音效链。播放场景为在后台使用扬声器播放时,处理音频所需的音效链包括全局原生音效链,不包括非全局原生音效链。播放场景为在后台使用耳机播放时,处理音频所需的音效链包括全局非原生音效链,不包括非全局原生音效链。
其中,在前台播放表示,提供音频的应用运行在前台。在后台播放表示播放音频时用于播放该音频的应用运行在后台。
对于上述内容中的全局原生音效链、全局非原生音效以及非全局原生音效链。其中,全局表示该音效链适用于系统层的音频处理。非全局表示该音效链仅适用于应用内部的音频处理,也可以理解为适用于提供音频的应用在前台运行时对音频处理。原生是指音效链是由电子设备的生产商所提供或研发的。非原生是指非电子设备的生产商所提供或研发的。该非原生也可以被理解为第三方。全局原生音效链通常适用于电子设备中的播放器(例如扬声器)。而全局非原生音效链通常适用于电子设备所连接的外部设备,例如耳机、音响等。
在一些可能的情况下,全局原生音效链包括艾为(awinic,AW)音效链、音量增强音效链、均衡器音效链或者低音增强音效链中的至少一种。全局非原生音效链包括数字剧院音效系统(digital theater system,DTS)音效链、杜比音效链中的至少一种。非全局原生音效链通常包括可视化音效链,或者除了可视化音效链还可以包括其他音效链,例如压缩音效链等。
其中,可视化音效链相对较为特殊。该可视化音效链不改变音频本身,而是对音频进行频谱分析或者波形分析等,进而将分析结果转化为可以在界面中展现的视觉效果。这些视觉效果可以是频谱显示或者波形显示等。通过可视化呈现音频的频谱和特征,增强音乐的视听体验。
通常来说,播放场景对应的音效链中包括非全局原生音效链和其他音效链(全局原生音效链或者全局非原生音效链)时,首先是使用非全局原生音效链对音频进行一些基础的音效处理(例如音场增强或环绕声效果等),再使用其他音效链进行进一步音效处理(例如系统音量控制和全局均衡等)。因此,该非全局原生音效链也可以被称为基础音效链。
下文中,为了便于叙述,以非全局原生音效链称为基础音效链、全局原生音效链为艾为AW音效链、全局非原生音效链为DTS音效链为例进行描述。
在电子设备使用耳机播放(包括前台使用耳机播放和/或后台使用耳机播放)音频之前,会将音轨标识加入DTS音效集合中,才可以使用DTS音效链处理音频,得到DTS音频,再使用耳机播放该DTS音频。其中,该音轨标识为用于处理该音频的音轨的标识。
在电子设备使用耳机播放使用DTS音效链处理后的音频时,响应于暂停播放该音频的操作,在确认DTS音效集合中包括音轨标识,且处理音频的音效链包括基础音效链的情况下,将音轨标识从DTS音效集合中删除。
删除之后,使用扬声器在前台播放音频,电子设备可以使用AW音效链对音频进行处理,再次连接耳机并在前台继续播放该音频时,电子设备在确认DTS音效集合中不包括音轨标识的情况下,才会将该音轨标识重新加入DTS音效集合中。进而才能够将处理该音频的音效链中的AW音效链切换为DTS音效链。但是,只有在前台播放音频时,电子设备才能够使用基础音效链处理音频。当电子设备在后台使用耳机播放音频的场景下,由于处理音频的音效链不包括基础音效链。因此,后台使用耳机播放的场景下暂停播放音频,电子设备不会从DTS音效集合中删除音轨标识。以至于在播放场景切换至在前台使用扬声器播放后,响应于连接耳机的操作,电子设备确认DTS音效集合中仍包括音轨标识,就不会再将音轨标识加入DTS音效集合中,从而无法将处理音频的AW音效链切换为DTS音效链,导致耳机播放时没有声音。
需要说明的是,在确定从DTS音效集合中是否能删除ID之前,需要判断处理音频的音效链是否包括基础音效链。这里判断处理音频的音效链是否包括基础音效链方式包括:判断音效链集合中是否包括基础音效链。该音效链集合用于记录生成电子设备最近所使用的播放器件(耳机或者扬声器等)所播音频的过程中所使用音效链的会话标识(sessionID),该音效链的会话标识用于表示一个音效链。通常来说,前述涉及的全局原生音效链(例如AW音效链)和全局非原生链(例如DTS音效链)的会话标识大于或者等于0。用于区别,非全局原生音效链(基础音效链)的音效链标识小于0。
在一些可能的情况下,非全局原生音效链的会话标识等于音轨的会话标识。在耳机断开之后,可以使用音轨的会话标识去音效链集合中匹配,如果匹配不到相同的会话标识。则确定生成耳机所播音频的音效链中不包括基础音效链。例如,后台耳机播放时,该音效链集合中不包括基础音效链。因此,后台耳机播放时,如果耳机断开连接,则无法在音效链集合中匹配到音轨的会话标识,进而确定无基础音效链。
这里音轨的会话标识可以看作前述涉及的音轨的音轨标识(ID)。
为了解决前述方案中,由于无法删除音轨标识带来的耳机播放无声问题,提出一种音频处理方法。
在该方法中,电子设备在后台使用耳机播放音频时,响应于断开与耳机连接的操作,暂停播放音频,确认此时处理该音频的音效链包括AW音效链,将该音频的音轨标识从DTS音效集合中删除。因此,后续使用扬声器在前台播放的场景中,响应于连接耳机的操作,DTS音效集合中不包括该音频的音轨标识,电子设备能够将音轨标识加入DTS音效集合中。进而实现将处理音频的音效链中的AW音效链切换为DTS音效链。进而使用DTS音效链对音频进行处理,然后将处理后的音频输出至耳机进行播放。
这里需要说的是,前台使用耳机或者扬声器播放时,处理音频的音效链除了AW音效链还可以包括基础音效链。这里基础音效链是不需要切换的。将处理音频的音效链中的AW音效链切换为DTS音效链也可以理解为将处理音频的音效链从AW音效链切换为DTS音效链。
通常情况下,音效处理前的音频可以包括多个声源,因此在音轨上使用音效链对音频进行音效处理之前,还需要在音轨上经过混音操作将包括多个声源的音频混音为混合在一起,得到混音后的音频。然后,在音轨上将混音后的音频使用音效链进行处理,得到可播放的音频。
由此可见,电子设备对音频的处理是通过多个子处理环节逐步完成的,不同的子处理环节配置了不同的buffer对音频进行处理和存储。音频从一个子处理环节到另一个子处理环节也可以看作音频从一个buffer流向了另一个buffer。不同的子处理环节对音频进行的操作不同,通常来说得到的音频听感可以不同。这里的子处理环节包括混音和音效处理。还可以包括其他的环节,本申请实施例对此不作限定。
可参考图2,图2示出了在不同播放场景中处理音频时音频经过各子处理环节的数据流向示意图。
电子设备首先从应用程序层的音乐应用中获取待处理的音频。然后在音轨准备模块(位于应用程序框架层)中创建处理该音频的音轨。然后在音轨上基于混音模块对音频进行混音处理,得到混音后的音频。不同的播放场景,该混音后的音频会传输至不同的buffer,再经过不同的子处理环节生成可播放音频。再将可播放音频传输至硬件抽象层。硬件抽象层通过音频HAL将该可播放音频传输给对应的播放设备进行播放。
如图2所示,包含(1)和(1a)的处理流程为在前台使用扬声器播放的播放场景下,电子设备处理音频时音频经过各子处理环节的数据流向。在前台扬声器播放场景中,由于需要使用基础音效链对音频进行处理,因此会使用基础音效链对应的EffectChainBuffer记录混音后的音频。后续使用EffectChainBuffer对应的子处理环节(基础音效链处理)对混音后的音频进行处理,得到基础音频。在将该基础音频传输至EffectBuffer,以通过EffectBuffer对应的子处理环节(AW音效链处理)处理基础音频,得到AW音频。将将AW音频拷贝(copy)至SinkBuffer进而传输至扬声器进行播放。这时,扬声器播放的音频就是经过基础音效链和AW音效链处理后的音频。如图2所示,包含(1)和(1b)的处理流程为在前台使用耳机播放的播放场景下,电子设备处理音频时音频经过各子处理环节的数据流向。在前台使用耳机播放场景中,也需要使用基础音效链对音频进行处理,则与前述在前台使用扬声器播放场景一致,均使用基础音效链对应的EffectChainBuffer记录混音后的音频。后续通过EffectChainBuffer对应的子处理环节(基础音效链处理)对混音后的音频进行处理,得到基础音频。在将该基础音频传输至DTSEffectBuffer,以通过DTSEffectBuffer对应的子处理环节(DTS音效链处理)处理基础音频,得到DTS音频。将DTS音频拷贝至DTSSinkBuffer,再从DTSSinkBuffer拷贝进SinkBuffer进而传输至耳机进行播放。这时,耳机播放的音频就是经过基础音效链和DTS音效链处理后的音频。
这里需要对基础音频进行说明,在基础音效链中只包括可视化音效链的情况下,该基础音频与混音后的音频相同。基础音效链处理只是基于混音后的音频得到了可以在界面中展现的视觉效果。在基础音效链中除了可视化音效链还包括例如压缩音效链在内的其他音效链时,该基础音频与混音后的音频不同。
如图2所示,包含(2)的处理流程为在后台使用扬声器播放的播放场景下,电子设备处理音频时音频经过各子处理环节的数据流向。在后台使用扬声器播放场景中,不需要基于基础音效链对音频进行处理,可以使用MixerBuffer记录混音后的音频。后续在将该混音后的音频拷贝至EffectBuffer,以通过EffectBuffer对应的子处理环节(AW音效链处理)处理混音后的音频,得到AW音频。再将AW音频传输至扬声器进行播放。这时,扬声器播放的音频就是经过AW音效链处理后的音频。
如图2所示,包含(3)的处理流程为在后台使用耳机播放的播放场景下,电子设备处理音频时音频经过各子处理环节的数据流向。在后台使用耳机播放场景中,使用DTSMixerBuffer记录混音后的音频。后续在将该混音后的音频拷贝至DTSEffectBuffer,以通过DTSEffectBuffer对应的子处理环节(DTS音效链处理)处理混音后的音频,得到DTS音频。再将DTS音频传输至耳机进行播放,这时,耳机播放的音频就是经过DTS音效链处理后的音频。
这里需要说明的是,将音频传输至耳机进行播放是指将SinkBuffer中的音频传输至耳机硬件抽象层(位于硬件抽象层中的音频HAL中)进而传输至耳机。将音频传输至扬声器进行播放是指将SinkBuffer中的音频传输至扬声器硬件抽象层(位于硬件抽象层中的音频HAL中)进而传输至扬声器。
还需要说明的是,使用各buffer对音频进行处理的模块可以被称为音效处理模块。
由此可见,随着播放场景的变换,电子设备在切换处理音频的音效链,也意味着会切换处理音频时涉及的buffer。例如,在前台播放音频时,从使用扬声器播放切换至使用耳机播放,在处理音频的音效链中的AW音效链切换为DTS音效链时,EffectChainBuffer中混音后的音频经过基础音效链处理所得的基础音频会从输出至EffectBuffer(对应AW音效链)切换为输出至DTSEffectBuffer(对应DTS音效链)。
因此,从buffer层面进行描述,前述涉及的因为没有删除DTS音效集合中的音轨标识导致的不能将处理音频的音效链从AW音效链切换为DTS音效链的原因在于:参考图3,前台扬声器播放场景中,在使用AW音效链处理音频时,音频被设置为从EffectChainBuffer传输至EffectChainBuffer。前台扬声器播放场景切换至前台使用耳机播放场景时,音频本应为从EffectChainBuffer传输至EffectBuffer更改为从EffectChainBuffer传输至DTSEffectBuffer。但是,因为没有删除DTS音效集合中的音轨标识,导致电子设备仍然将EffectChainBuffer的输出对象设置为EffectBuffer,没有更改为DTSEffectBuffer。使得音频继续被传输至EffectBuffer,但是前台耳机播放场景下,EffectBuffer与SinkBuffer之间不进行传输。因此,SinkBuffer中无音频可以输出至耳机,使得耳机无法正常播放。
关于音频在buffer中的数据流向的更多内容可以参考下述对图9A-图9D的描述,这里暂不赘述。
图4示出了电子设备基于播放场景变换切换音效链的流程图。对该过程的描述可以参考下述对步骤S101-步骤S107的描述。
S101.电子设备连接耳机,显示应用1的播放界面,响应于播放音频1的操作,创建音频1的音轨,记为音轨1。
如图5A中(1)所示,为电子设备在前台显示应用1的播放界面。响应于播放音频1的操作,创建音轨1,在前台耳机播放场景中,确定在该音轨1上处理音频1的音效链包括基础音效链以及DTS音效链。
这里的应用1为提供音频1的应用。例如可以为前述涉及的音乐应用。
连接耳机包括但不限于:使用蓝牙以连接耳机(蓝牙耳机),插入耳机以连接耳机(有线耳机)中的至少一个,本申请实施例对此不作限定。
S102.处理音频1的音效链包括DTS音效链时,将音轨1的ID加入到DTS音效集合中之后,基于DTS音效链对音频1中的待播音频a进行处理,得到DTS音频a。
电子设备基于当前播放设备支持DTS音效且音轨1支持DTS音效,将音轨1的音轨标识(Identification,ID)加入DTS音效集合中。
其中,将音轨1的ID加入DTS音效集合中表示电子设备可以使用DTS音效链在音轨1上处理音频1的待播音频。音轨1的ID即为前述内容中的音轨标识。
这里的待播音频a可以看作前台使用耳机播放场景中,音频1中被电子设备处理的至少一帧音频。需要说明的是,电子设备在处理音频时,一次只处理一帧音频数据,处理音频的过程是一帧一帧循环进行的。其中一帧是时间单位,表示时间较短,例如20ms、30ms等,本申请实施例对此不作限定。
步骤S102中,基于DTS音效链对音频1中的待播音频a进行处理的过程可以参考下述对图6的描述中步骤S201-步骤S204的描述。
S201.获取音频1中的待播音频a。
电子设备确认处理音频1的音效链包括中包括基础音效链,基于此将音频1进行混音后输出的buffer设置为EffectChainBuffer。
S202.对待播音频a进行混音处理,得到混音后的待播音频a。
S203.将混音后的待播音频a存储至EffectChainBuffer,然后使用基础音效链对混音后的待播音频a进行处理,得到基础音频a。
S204.将基础音频a存储至DTSEffectBuffer,再使用DTS音效链对基础音频a进行处理,得到DTS音频a。
需要说明的是,前述将ID加入到DTS音效集合中时,就会使得将EffectChainBuffer的下一级buffer设置为DTSEffectBuffer。因此步骤S203中得到基础音频a之后会将基础音频a存储至DTSEffectBuffer。
S103.使用耳机播放DTS音频a时,将应用1从前台运行更改为后台运行。
将应用1从前台运行更改为后台运行之后,电子设备不再使用基础音效链对音频进行处理,继续使用DTS音效链对音频进行处理。
S104.响应于与耳机断开连接的操作,暂停播放音频1,将音轨1的ID从DTS音效集合中删除。
如图5A中(2)所示,电子设备在后台使用耳机播放音频时,与耳机断开连接,则电子设备暂停播放音频。
与耳机断开连接包括但不限于:退出蓝牙网络以实现与耳机断开连接(蓝牙耳机),拔出耳机(有线耳机)以断开连接中的至少一个,本申请实施例对此不作限定。
S105.响应于在播放界面中继续播放音频1的操作,使用扬声器播放基于AW音效链处理后的AW音频b。
如图5B中(1)和(2)所示,电子设备再次显示应用1的播放界面后,响应于针对播放控件的操作,使用扬声器继续播放音频1。
在前台使用扬声器播放场景中,扬声器播放的音频(AW音频b)是通过基础音效链和AW音效链处理后得到的。
S106.响应于连接到耳机的操作,将音轨1的ID重新加入DTS音效集合触发电子设备将处理音频1的音效链从AW音效链切换为DTS音效链。
这里响应于连接到耳机的操作时,应用1处于前台运行的状态。
电子设备确认DTS音效集合中不包括音轨1的ID,将音轨1的ID重新加入DTS音效集合后,会更改EffectChainBuffer的输出对象从EffectBuffer更改为DTSEffectBuffer,进而使得电子设备将处理音频1的音效链从AW音效链切换为DTS音效链。
S107.使用耳机播放基于DTS音效链处理后的DTS音频c。
如图5C所示,再次连接耳机后,电子设备能够正常使用耳机继续播放音频(DTS音频c)。
步骤S107的内容与前述步骤S102中得到DTS音频a的过程相似,将DTS音频c更改为DTS音频a即可,此处不再赘述。
在前台使用耳机播放场景中,耳机播放的音频(DTS音频c)是通过基础音效链和DTS音效链处理后得到的。
需要说明的是,基础音效链中包括可视化音效链,前述涉及的可视化音效链对音频进行频谱分析或者波形分析等,进而将分析结果转化为可以在界面中展现的视觉效果的一个示例可以参考前述图5A中(1)、图5B中(2),图5C中示出的波形显示图标301。
图7示例性示出了实施音频处理方法时涉及的示例性软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的分工。层与层之间通过软件接口通信。在一些实施例中,将系统分为四层,从上至下分别为应用程序层、应用程序框架层、硬件抽象层以及内核层。
其中,应用程序层可以包括一系列应用程序包,该应用程序包可以包括音乐应用,该音乐应用能够提供待播放的音频。
该音乐应用包括媒体播放器接口和音轨接口。
其中,媒体播放器接口可以用于响应播放音频和暂停播放音频的操作。
音轨接口可以用于将音频1传输至应用程序框架层。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。
应用程序框架层可以包括音频数据读取模块、播放线程、音轨管理模块(Audiotrack)、音频策略管理模块(AudioPolicyManager)、音频策略执行模块、DTS模块等。
其中,音频数据读取模块可以用于从上述音乐应用的音轨接口获取音频1。音轨管理模块可以用于创建音轨。音频策略管理模块可以用于响应播放设备的切换。音频策略执行模块可以用于调用播放线程和DTS模块,改变播放线程和DTS模块的工作状态。DTS模块中包括DTS音效集合,在音频播放的过程中根据电子设备处理音频涉及的音效链向DTS音效集合中加入或者删除音轨的ID。
播放线程用于循环处理音频1中音频帧。线程包括音频帧获取模块、音轨准备模块、混音模块、音效处理模块、数据传输模块。其中,音频帧获取模块用于从音频数据读取模块中获取音频帧。音轨准备模块基于处理音频帧的方式确定混音模块的输出对象。混音模块对音频帧进行混音处理。音效处理模块使用音效链对音频帧进行处理。数据传输模块将音效处理模块处理得到的音频传输至硬件抽象层。播放线程还会调用buffer用于存储各子处理环节处理后的音频帧,其中涉及的buffer以及音频帧的流向可以参考前述对图2的相关描述,这里不再赘述。
硬件抽象层可以包括数据接收模块和音频HAL。数据接收模块用于从播放线程中接收音频数据,将接收到的音频数据传输给音频HAL。
音频HAL中包括扬声器硬件抽象模块和耳机硬件抽象模块。
其中,扬声器硬件抽象模块可以将音频传输至扬声器驱动调用扬声器播放音频。耳机硬件抽象模块可以将音频传输至耳机驱动调用耳机播放音频。
内核层可以包括扬声器驱动和耳机驱动,可以用于驱动扬声器和耳机播放音频。
下面结合图7,详细描述进行音频处理时涉及的模块交互流程。对该过程的描述可以参考下述对图8中所示各步骤的描述。
参考图8,这里涉及的模块包括图7中示出的音频策略管理模块、音轨管理模块、音频策略执行模块、播放线程和DTS模块。
图8中,可以把播放场景的切换划分为四个阶段,阶段1为使用耳机播放。阶段2为后台播放时,耳机断连(断开连接)。阶段3为前台扬声器播放。阶段4为前台扬声器播放时,连接耳机进行播放。
需要说明的是,阶段1包括从前台耳机播放切换至后台使用耳机播放,或者一直在后台使用耳机播放等场景。阶段1切换为阶段2之前的最后一个播放场景为在后台使用耳机播放。其中,阶段1使用耳机播放的模块交互过程参考下述对步骤S301、S302a和S302b-S305b的描述。
S301.连接耳机时,音轨管理模块检测到播放音频1的操作,创建音轨1。
电子设备可以在音轨1上使用音效链对音频1进行处理。
音轨管理模块创建音轨1后,将音轨1的ID发送至音频策略管理模块。音轨1的ID即为前述内容中的音轨标识。
步骤S301中,音频策略管理模块接收到音轨1的ID后,向DTS模块发送音轨1的ID(a1),还会向播放线程发送开始播放事件(b1)。
DTS模块接收到音轨1的ID之后,执行下述步骤S302a将音轨1的ID添加到DTS音效集合中。播放线程接收到开始播放事件后,执行下述步骤S302b-S305b以处理音频。
S302a.DTS音效集合中没有音轨1的ID时,DTS模块将音轨1的ID添加到DTS音效集合中。
DTS音效集合用于存储音轨的ID,在播放场景切换中包括扬声器切换为耳机,或者在播放音频1的第一个播放场景中,当一个音轨的ID加入DTS音效集合后,电子设备才会使用DTS音效链在该音轨上处理音频。这个加入是一个动作,不是指DTS音效集合中包括音轨的ID这个状态。
需要说明的是,这里除了DTS音效集合以外,还涉及音效链集合。该音效链集合用于存储音效链的会话标识(sessionID),该音效链的会话标识用于表示一个音效链。
在播放线程确定使用音效链1(例如DTS音效链、AW音效链或者基础音效链中的至少一个)对音频帧进行处理之后,在对音频帧进行音效处理之前,播放线程中的音轨准备模块会将该音效链1的会话标识加入到该音效链集合中。确定处理音频帧使用的音效链的过程可以参考前述相关描述,这里不再赘述。
例如,阶段1中,如果是前台耳机播放场景,音效链集合中可以包括DTS音效链的会话标识和基础音效链的会话标识。如果是后台耳机播放场景,音效链集合中可以包括DTS音效链的会话标识,不包括基础音效链的会话标识。
下面基于步骤S302b-步骤S305b描述阶段1中如何在音轨上处理音频。
S302b.播放线程获取音频1中的待播音频a。
待播音频a包括音频1中的一帧音频(音频帧)。
这里播放线程中获取待播音频a的模块可以为前述涉及的音频帧获取模块。
S303b.播放线程确定处理音频1的音效链包括DTS音效链,确定混音后的待播音频a的输出buffer。
播放线程可以从音效链集合中确定处理音频1的音效链包括DTS音效链。
在前台耳机播放场景中,播放线程确定混音后的待播音频a的输出buffer为EffectChainBuffer。在后台耳机播放场景中,确定混音后的待播音频a的输出buffer为DTSMixerBuffer。此处,关于输出buffer的确定可以参考前述对图2中(1)以及(3)处的描述。
这里播放线程中执行步骤S303b的模块可以为前述涉及的音轨准备模块。
S304b.基于DTS音效链对待播音频a进行处理,得到DTS音频a。
阶段1中,如果是前台耳机播放,则在使用DTS音效链对待播音频a(混音后的)进行处理之前,还会使用基础音效链对待播音频a(混音后的)进行处理。即DTS音频a为将待播放音频a经过基础音效链以及DTS音效链处理之后的音频。此时,关于基于DTS音效链对待播音频a进行处理的过程,可以参考前述对图2中对(1)、(1b)处的描述。
阶段2中,如果是后台使用耳机播放,则不使用基础音效链对待播音频a(混音后的)进行处理。即DTS音频a为将待播放音频a经过DTS音效链处理之后的音频。此时,关于基于DTS音效链对待播音频a进行处理的过程,可以参考前述对图2中对(3)处的描述。
S305b.将DTS音频a传输至耳机。
阶段2在后台使用耳机播放时,耳机断连的模块交互过程可以参考下述对步骤S401、步骤S402a、步骤S402b的描述。
S401.在后台播放时,音频策略管理模块检测到断开耳机连接的操作。
响应于该断开耳机连接的操作,音频策略管理模块向音频策略执行模块发送设备切换指令。音频策略执行模块接收到该设备切换指令后,向DTS模块发送音轨1的ID(a2),还会向播放线程发送耳机断连事件(b2)。
在步骤S401中,DTS模块接收到音轨1的ID后,执行下述步骤S402a。播放线程接收到耳机断连事件后,执行下述步骤S402b。
S402a.DTS模块确定电子设备支持AW音效链,将音轨1的ID从DTS音效集合中移除。
接收到音轨1的ID后,DTS模块确定电子设备支持使用AW音效链处理音频1,且DTS音效集合中包括音轨1的ID的情况下,将音轨1的ID从DTS音效集合中删除,此时DTS音效集合可以为空(NULL)。
这里应该理解的是,电子设备是否支持AW音效链处理音频1,是电子设备的一个属性,与播放场景无关。
音轨1的ID从DTS音效集合中移除之后,在下述步骤S602a中,就能够将音轨1的ID重新加入DTS音效集合,使得播放线程可以将EffectChainBuffer的下一级从EffectBuffer更改为DTSEffectBufferbuffer,实现将处理音频1的音效链中的AW音效链替换为DTS音效链。
S402b.播放线程暂停处理。
播放线程暂停处理音频1的音频帧。此时,电子设备停止音频播放,涉及的界面可以参考前述图5B中(1)示出的界面。
还需要说明的是,阶段2中,由于暂停处理,播放线程可以删除音效链集合中包括的音效链的会话标识。等待下一次开始处理时重新添加对应的音效链的会话标识到音效链集合中。
阶段3在前台使用扬声器播放时的模块交互过程可以参考下述步骤S501-S505的描述。
S501.应用1运行在前台时,音轨管理模块检测到播放音频1的操作。
响应于检测到播放音频1的操作,音轨管理模块将音轨1的ID发送至音频策略执行模块,音频策略执行模块向播放线程发送开始播放事件。
由于音轨1的ID对应的是音频1,则这里开始播放事件指示播放线程开始播放音频1。
且,由于音频策略执行模块在前述接收到了设备切换(耳机切扬声器)指令,因此音频策略执行模块向播放线程发送开始播放事件还指示播放线程使用扬声器开始播放音频。
播放线程接收到开始播放事件后,播放线程继续播放音频1的过程可以参考下述对步骤S502-步骤S505的描述。
S502.播放线程获取音频1中的待播音频b。
待播音频b包括音频1中的一帧音频(音频帧)。且待播音频b为待播音频a的后续帧音频。
这里播放线程中获取待播音频b的模块可以为前述涉及的音频帧获取模块。
阶段3中,播放线程可以将该基础音效链的会话标识以及AW音效链的会话标识加入到该音效链集合中。
S503.播放线程确定处理音频1的音效链包括基础音效链和AW音效链,确定混音后的待播音频b输出至EffectChainBuffer。
此处,关于混音后的待播音频b输出至EffectChainBuffer的详细内容可以参考前述对图2中(1)处的描述,此处不再赘述。
S504.播放线程使用基础音效链对混音后的待播音频b进行处理,将得到的基础音频b输出到EffectBuffer。
S505.播放线程利用AW音效链对基础音频b进行处理,将得到的AW音频b传输至扬声器。
此处,关于步骤S503以及步骤S504中音频的数据流向可以参考前述对图2中(1a)处的描述,此处不再赘述。
阶段4在前台扬声器播放时,连接耳机继续播放的模块交互图可以参考下述步骤S601、S602a、S602b -S605b的描述。
S601.在前台播放时,音频策略管理模块检测到耳机连接。
音频策略管理模块向音频策略执行模块发送设备切换指令。
音频策略执行模块接收到设备切换指令后,向DTS模块发送音轨1的ID(a3),还会向播放线程发送连接耳机事件。
DTS模块接收到音轨1的ID后,执行下述步骤S602a将音轨1的ID重新添加到DTS音效集合中。播放线程接收到耳机连接事件后,执行下述步骤S602b-S605b以处理音频。
S602a.DTS模块将音轨1的ID重新加入DTS音效集合。
DTS模块在确认DTS音效集合中不包括音轨1的ID的情况下,将音轨1的ID重新加入DTS音效集合。使得播放线程将EffectChainBuffer下一级buffer由EffectBuffer切换为DTSEffectBuffer。实现将处理音频的音效链中的AW音效链切换为DTS音效链。
S602b.播放线程调用音频数据获取模块获取音频1中的待播音频c。
待播音频c包括音频1中的一帧音频(音频帧)。且待播音频c为待播音频b的后续帧音频。
这里播放线程中获取待播音频b的模块可以为前述涉及的音频帧获取模块。
阶段4中,播放线程可以将该基础音效链的会话标识以及DTS音效链的会话标识加入到该音效链集合中。
S603b.确定处理音频1的音效链包括基础音效链和DTS音效链,确定混音后的待播音频c输出至EffectChainBuffer。
此处,关于混音后的待播音频c输出至EffectChainBuffer的详细内容可以参考前述对图2中(1)处的描述,此处不再赘述。
S604b.播放线程使用基础音效链对混音后的待播音频c进行处理,将得到的基础音频c输出代DTSEffectBuffer。
S605b.利用DTS音效链将基础音频c进行处理,将得到的DTS音频c传输至扬声器。
此处,关于步骤S503以及步骤S504中音频的数据流向可以参考前述对图2中(1a)处的描述,此处不再赘述。
下面结合图9A-图9C详细描述前述图8中各播放场景下音频在buffer中的数据流向。
这里以阶段1为后台使用耳机播放为例进行说明。图9A示出了电子设备在阶段1基于 DTS音效链对音频进行处理的数据流向示意图。
这里以进入阶段1之前,DTS音效集合没有音轨的ID为例进行说明。
如图9A中(1)所示,在后台耳机播放场景下,音轨准备模块(属于播放线程)从音乐应用中获取音频帧(例如前述涉及的待播音频a)。
确认播放设备为耳机(处理音频的音效链包括DTS音效链)后,音轨准备模块将DTS音效链的会话标识加入音效链集合中。
音轨准备模块确定当前播放设备是耳机,该耳机支持的是DTS音效链,且DTS音效集合中无音轨的ID,则将音轨的ID加入DTS音效集合中以启动DTSEffectBuffer。其中,启动DTSEffectBuffer意味着:后续会将音频帧输出至DTSEffectBuffer利用DTS音效链进行处理中。
后续,音轨准备模块将音频帧输出至混音模块。混音模块对音频数据进行混音处理后根据设置将混音后的音频数据输出至音效处理模块中的DTSMixerBuffer。
混音后的音频帧进入DTSMixerBuffer后,音效处理模块将DTSMixerBuffer中的音频帧拷贝(copy)至处于启动状态的DTSEffectBuffer中。再将DTSEffectBuffer中音频帧(基础音频)利用DTS音效链进行处理,然后传输至DTSSinkBuffer进而拷贝(copy)至SinkBuffer。
然后,音效处理模块会将SinkBuffer中的音频帧传输至耳机硬件抽象模块(位于音频HAL)进而至耳机驱动,以驱动耳机播放。
在一些可能的情况下,将音轨的ID加入DTS音效集合之前,还需要判断音轨是否支持DTS音效链,如果支持,且满足将音轨的ID加入DTS音效集合的情况下,才会将音轨的ID加入至DTS音效链。这里将音轨的ID加入DTS音效集合的逻辑可以参考图9A中(2)。
参考图9A中(2)所示,判断当前设备是否支持DTS音效链以及当前音轨是否支持DTS音效链,若均支持,在DTS音效集合中没有当前音轨的ID时,则把音轨的ID加到DTS音效集合中。由于阶段1中,当前设备时耳机,且当前音轨默认是支持DTS音效链的,且在阶段1之前默认DTS音效集合中没有当前音轨的ID,则可以将音轨加入DTS音效集合中,即将音轨的ID加入DTS音效集合中。
与图9A中(2)对应的从DTS音效集合中删除音轨的ID可以参考图9A中(3)。
如图9A中(3)所示,当耳机断开连接(例如阶段2)时,如果音效链集合中存在全局原生音效链,则从DTS音效集合中移除当前音轨,即移除音轨的ID。
在一些可能的情况下,在判断音效链集合中存在全局原生音效链之前,还可以执行一下逻辑:如果存在非全局原生音效链并且音轨(音轨的ID)在DTS音效集合中,从DTS音效集合中移除当前音轨,即移除音轨的ID。如果不存在非全局原生音效链并且音轨(音轨的ID)在DTS音效集合中,才会执行:存在全局原生音效链,则从DTS音效集合中移除当前音轨。
阶段3(在前台扬声器播放场景)基于基础音效链和AW音效链对音频进行处理的数据流向示意图参考图9B所示。
如图9B所示,在前台扬声器播放场景下,音轨准备模块(属于播放线程)从音乐应用中获取音频帧。
确认播放设备为扬声器(处理音频的音效链包括AW音效链)后,音轨准备模块将AW音效链的会话标识加入音效链集合中,且确认在前台播放音频,将基础音效链的会话标识也加入音效链集合中。并设置混音模块的输出buffer为EffectChainBuffer。
在阶段2中音轨准备模块会将阶段1中加入到音效链集合中DTS音效链和基础音效链的会话标识删除,则此处,音效链集合包括AW音效链和基础音效的会话标识时,不再包括DTS音效链的会话标识。
音轨准备模块确定DTS集合中不包括音轨的ID且当前播放设备是扬声器,该扬声器支持的是AW音效链,启动EffectBuffer。启动EffectBuffer意味着:后续会将EffectChainBuffer中混音后的待播音频使用基础音效链处理后输出至EffectBuffer中。
后续,音轨准备模块将音频帧输出至混音模块。混音模块对音频数据进行混音处理后根据设置将混音后的音频数据输出至音效处理模块中的EffectChainBuffer。
混音后的音频帧进入EffectChainBuffer后,音效处理模块将EffectChainBuffer中的音频帧经过基础音效链处理后输出至处于启动状态的EffectBuffer中。再将EffectBuffer中音频帧(基础音频)利用AW音效链进行处理,然后传输至SinkBuffer。
然后,音效处理模块会将SinkBuffer中的音频帧传输至扬声器硬件抽象模块(位于音频HAL)进而至扬声器驱动,以驱动扬声器播放。
这个需要理解的是,将EffectChainBuffer的下一级buffer设置为EffectBuffer的条件包括当前是设备支持AW音效链。但是如果想将EffectChainBuffer的下一级buffer设置为DTSEffectBuffer,则需要通过将音轨的ID加入DTS音效集合中作为条件。
阶段4(在前台耳机播放场景)基于基础音效链和DTS音效链对音频进行处理的数据流向示意图参考图9C所示。
如图9C中(1)所示,在前台耳机播放场景下,音轨准备模块(属于播放线程)从音乐应用中获取音频帧(例如前述涉及的待播音频c)。
确认播放设备为耳机(处理音频的音效链包括DTS音效链)后,音轨准备模块将DTS音效链的会话标识加入音效链集合中。且确认在前台播放音频,将基础音效链的会话标识也加入音效链集合中。并设置混音模块的输出buffer为EffectChainBuffer。
音轨准备模块确定当前播放设备是耳机,该耳机支持的是DTS音效链,且DTS音效集合中无音轨的ID,则将音轨的ID加入DTS音效集合中以启动DTSEffectBuffer。这里,启动DTSEffectBuffer意味着:后续会将EffectChainBuffer中的音频帧输出至DTSEffectBuffer利用DTS音效链进行处理中。
需要说明的是,此处将音轨的ID加入DTS音效集合的逻辑与前述图9A中(2)所示的逻辑相同,此处不再赘述。
后续,音轨准备模块将音频帧输出至混音模块。混音模块对音频数据进行混音处理后根据设置将混音后的音频数据输出至音效处理模块中的EffectChainBuffer。
混音后的音频帧进入EffectChainBuffer后,音效处理模块将EffectChainBuffer中的音频帧经过基础音效链处理后输出至处于启动状态的DTSEffectBuffer中。再将DTSEffectBuffer中音频帧(基础音频)利用DTS音效链进行处理,然后传输至DTSSinkBuffer进而拷贝(copy)至SinkBuffer。
然后,音效处理模块会将SinkBuffer中的音频帧传输至耳机硬件抽象模块(位于音频HAL)进而至耳机驱动,以驱动耳机播放。
这里还需要说明的是,这里将EffectChainBuffer的输出buffer从EffectBuffer切换为DTSEffectBuffer的时机除了是从扬声器播放切换为耳机播放通过设备切换指令触发以外。还可以为在播放线程中处理每一帧音频时执行,此时的切换逻辑可以参考图9C中(2)所示,在获取到音频帧,对音频帧进行处理之前,音轨准备模块判断当前设备以及当前音轨是否支持DTS音效链且DTS音效集合中不包含当前音轨(音轨的ID)时,将EffectChainBuffer的输出buffer切换为DTSEffectBuffer。这样,在阶段3将音轨的ID加入到DTS音效集合失败时,仍然可以使用DTS音效链对音频进行处理。
这里需要说明的是,除了前述图8中涉及的4个阶段,电子设备还可以在后台使用扬声器播放音频。在后台扬声器播放场景基于AW音效链对音频进行处理的数据流向示意图参考图9D所示。
如图9D所示,在后台扬声器播放场景下,音轨准备模块(属于播放线程)从音乐应用中获取音频帧。
确认播放设备为扬声器(处理音频的音效链包括AW音效链)后,音轨准备模块将AW音效链的会话标识加入音效链集合中。且确认在后台播放音频,将基础音效链的会话标识从音效链集合中删除。并设置混音模块的输出buffer为MixerBuffer。
音轨准备模块确定DTS集合中不包括音轨的ID且当前播放设备是扬声器,该扬声器支持的是AW音效链,启动EffectBuffer。启动EffectBuffer意味着:后续会将音频帧输出至EffectBuffer中。
后续,音轨准备模块将音频帧输出至混音模块。混音模块对音频数据进行混音处理后根据设置将混音后的音频数据输出至音效处理模块中的MixerBuffer。
混音后的音频帧进入MixerBuffer后,音效处理模块将MixerBuffer中的音频帧拷贝至处于启动状态的EffectBuffer中。再将EffectBuffer中音频帧(基础音频)利用AW音效链进行处理,然后传输至SinkBuffer。
然后,音效处理模块会将SinkBuffer中的音频帧传输至扬声器硬件抽象模块(位于音频HAL)进而至扬声器驱动,以驱动扬声器播放。
图10是本申请实施例提供的电子设备的结构示意图。
下面以电子设备为例对实施例进行具体说明。应该理解的是,电子设备可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面以电子设备为例对实施例进行具体说明。应该理解的是,电子设备可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在本申请另一些实施例中,电子设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA)等。
电子设备通过GPU,显示屏194,以及应用处理器等实现显示功能。
显示屏194用于显示图像,视频等。
电子设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP 用于处理摄像头193反馈的数据。
摄像头193用于捕获静态图像或视频。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。
内部存储器121可以包括一个或多个随机存取存储器(random access memory,RAM )和一个或多个非易失性存储器(non-volatile memory, NVM)。
外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展电子设备的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部的非易失性存储器中。
电子设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备可以设置至少一个麦克风170C。在另一些实施例中,电子设备可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。
陀螺仪传感器180B可以用于确定电子设备的运动姿态。
气压传感器180C用于测量气压。在一些实施例中,电子设备通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。
加速度传感器180E可检测电子设备在各个方向上(一般为三轴)加速度的大小。当电子设备静止时可检测出重力的大小及方向。
距离传感器180F,用于测量距离。电子设备可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。
环境光传感器180L用于感知环境光亮度。
指纹传感器180H用于采集指纹。电子设备可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备的表面,与显示屏194所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。
本申请实施例中,该处理器110可以调用内部存储器121中存储的计算机指令,以使得终端执行本申请实施例中的音频处理方法。
本申请还提供了一种芯片系统,所述芯片系统包括至少一个处理器,用于实现上述任意一个实施例中电子设备执行的方法中所涉及的功能。
在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存程序指令和数据,存储器位于处理器之内或处理器之外。
该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请实施例并不限定。
示例性地,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性地,该芯片系统可以是现场可编程门阵列(field programmable gatearray,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processorunit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
本申请还提供一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机执行上述任一个实施例中电子设备执行的方法。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)。当所述计算机程序被运行时,使得计算机执行上述任一个实施例中电子设备执行的方法。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (14)
1.一种音频处理方法,其特征在于,所述方法应用于电子设备,所述方法包括:
所述电子设备通过耳机在后台播放第一音频的第一子音频,所述第一子音频通过第一音效链在音轨上处理得到;
响应于与所述耳机断开连接的操作,所述电子设备暂停播放所述第一子音频,并将音轨标识从第一集合中删除,所述音轨标识为所述音轨的标识,所述音轨标识在所述第一集合中表示处理所述第一音频中待播音频的音效链包括所述第一音效链,所述第一音效链为全局非原生音效链;
响应于在前台继续播放所述第一音频的操作,所述电子设备使用扬声器播放所述第一音频的第二子音频,所述第二子音频由所述电子设备通过第二音效链在所述音轨上处理得到,所述第二音效链包括全局原生音效链;
响应于连接所述耳机的操作,将所述音轨标识加入所述第一集合,
在所述音轨标识加入所述第一集合时,所述电子设备将处理所述第一音频中待播音频的音效链从所述第二音效链中的所述全局原生音效链切换为所述第一音效链;
所述电子设备通过所述耳机在前台播放所述第一音频的第三子音频,生成所述第三子音频的过程中使用了所述第一音效链。
2.根据权利要求1所述的方法,其特征在于,所述电子设备通过所述耳机在前台播放所述第一音频的第三子音频之前,所述方法还包括:
所述电子设备将第一缓冲区中的音频数据由传输至第二缓冲区更改为传输至第三缓冲区;所述扬声器播放的音频数据由所述第二缓冲区中的音频数据通过所述第二音效链处理后得到;所述耳机播放的音频由所述第三缓冲区中的音频数据通过所述第一音效链处理后得到。
3.根据权利要求2所述的方法,其特征在于,所述将所述音轨标识加入所述第一集合之前,所述方法还包括:
确定所述第一集合中不包括所述音轨标识。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
使用第三音效链对所述第一缓冲区中的音频数据进行处理,得到处理后的音频数据,所述第三音效链为非全局原生音效链;
将所述处理后的音频数据传输至所述第二缓冲区或所述第三缓冲区。
5.根据权利要求4所述的方法,其特征在于,所述电子设备暂停播放所述第一子音频之前,所述方法还包括:
所述电子设备将第四缓冲区中的音频数据拷贝到所述第三缓冲区。
6.根据权利要求5所述的方法,其特征在于,所述将音轨标识从第一集合中删除之前,所述方法还包括:
确认所述电子设备支持使用所述全局原生音效链处理所述第一音频。
7.根据权利要求6所述的方法,其特征在于,所述确认所述电子设备支持使用所述全局原生音效链处理所述第一音频之前,所述方法还包括:
所述电子设备确定生成所述第一子音频的音效链中不包括所述第三音效链,且所述第一集合中包括所述音轨标识。
8.根据权利要求7所述的方法,其特征在于,所述电子设备通过所述耳机在前台播放所述第一音频的第三子音频之后,所述方法还包括:
响应于与所述耳机断开连接的操作,暂停播放所述第三子音频,且确定生成所述第三子音频的音效链包括所述第三音效链以及所述第一集合中存在所述音轨标识,将所述音轨标识从所述第一集合中删除。
9.根据权利要求6所述的方法,其特征在于,所述电子设备通过耳机在后台播放第一音频的第一子音频时,第二集合中不包括所述第三音效链的音效链标识;所述第二集合用于记录生成所述耳机或者所述扬声器所播音频的过程中使用的音效链的音效链标识。
10.根据权利要求9所述的方法,其特征在于,所述电子设备确定生成所述第一子音频的音效链中不包括所述第三音效链,具体包括:
所述电子设备确定在所述第二集合中不包括所述第三音效链的音效链标识。
11.根据权利要求4-10中任一项所述的方法,其特征在于,
所述全局原生音效链包括艾为AW音效链、音量增强音效链、均衡器音效链或者低音增强音效链中的至少一种;
所述非全局原生音效链包括可视化音效链;
所述全局非原生音效链包括数字剧院音效系统音效链、杜比音效链中的至少一种。
12.一种电子设备,其特征在于,包括:一个或多个处理器和存储器;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行如权利要求1-11中任一项所述的方法。
13.一种计算机可读存储介质,包括计算机指令,其特征在于,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-11中任一项所述的方法。
14.一种芯片系统,所述芯片系统应用于电子设备,其特征在于,所述芯片系统包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述电子设备执行如权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311830708.5A CN117492689B (zh) | 2023-12-28 | 2023-12-28 | 音频处理方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311830708.5A CN117492689B (zh) | 2023-12-28 | 2023-12-28 | 音频处理方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117492689A CN117492689A (zh) | 2024-02-02 |
CN117492689B true CN117492689B (zh) | 2024-04-19 |
Family
ID=89671181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311830708.5A Active CN117492689B (zh) | 2023-12-28 | 2023-12-28 | 音频处理方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117492689B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112764710A (zh) * | 2021-01-22 | 2021-05-07 | 维沃移动通信有限公司 | 音频播放方式的切换方法、装置、电子设备和存储介质 |
WO2022033176A1 (zh) * | 2020-08-14 | 2022-02-17 | Oppo广东移动通信有限公司 | 音频播放控制方法、装置、电子设备及存储介质 |
CN114371824A (zh) * | 2021-12-31 | 2022-04-19 | 华为技术有限公司 | 一种音频处理方法、系统及相关装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090164034A1 (en) * | 2007-12-19 | 2009-06-25 | Dopetracks, Llc | Web-based performance collaborations based on multimedia-content sharing |
US10812751B2 (en) * | 2018-09-18 | 2020-10-20 | Roku, Inc. | Dynamically switching to/from a first network during audio playback over HDMI/ARC |
-
2023
- 2023-12-28 CN CN202311830708.5A patent/CN117492689B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022033176A1 (zh) * | 2020-08-14 | 2022-02-17 | Oppo广东移动通信有限公司 | 音频播放控制方法、装置、电子设备及存储介质 |
CN114077414A (zh) * | 2020-08-14 | 2022-02-22 | Oppo广东移动通信有限公司 | 音频播放控制方法、装置、电子设备及存储介质 |
CN112764710A (zh) * | 2021-01-22 | 2021-05-07 | 维沃移动通信有限公司 | 音频播放方式的切换方法、装置、电子设备和存储介质 |
CN114371824A (zh) * | 2021-12-31 | 2022-04-19 | 华为技术有限公司 | 一种音频处理方法、系统及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117492689A (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110138937B (zh) | 一种通话方法、设备及系统 | |
CN113228701B (zh) | 音频数据的同步方法及设备 | |
CN113169760B (zh) | 无线短距离音频共享方法及电子设备 | |
WO2021180083A1 (zh) | 蓝牙通信系统和无线通信系统 | |
JP7442647B2 (ja) | ブルートゥース通信方法および装置 | |
WO2020078330A1 (zh) | 一种基于语音通话的翻译方法及电子设备 | |
US20230412295A1 (en) | Method and apparatus for service processing in dual card terminal device | |
CN114996168B (zh) | 一种多设备协同测试方法、测试设备及可读存储介质 | |
CN114827581A (zh) | 同步时延测量方法、内容同步方法、终端设备及存储介质 | |
WO2022242528A1 (zh) | 一种音量调节方法及终端设备 | |
CN112771828B (zh) | 一种音频数据的通信方法及电子设备 | |
CN113301544B (zh) | 一种音频设备间语音互通的方法及设备 | |
CN113132959B (zh) | 无线音频系统、无线通讯方法及设备 | |
CN110806994B (zh) | 一种信号传输方法及装置 | |
CN117492689B (zh) | 音频处理方法及电子设备 | |
CN112335294B (zh) | 一种紧急呼叫方法及用户终端 | |
EP4287681A1 (en) | Stereo networking method and system, and related apparatus | |
CN115633340A (zh) | 一种文件传输方法、终端、电子设备及存储介质 | |
CN114449393B (zh) | 一种声音增强方法、耳机控制方法、装置及耳机 | |
CN113407076A (zh) | 启动应用的方法及电子设备 | |
CN114125352A (zh) | 屏幕共享方法、电子设备及系统 | |
WO2023284403A1 (zh) | 一种音频处理方法及设备 | |
CN117061949B (zh) | 耳机音量调节方法及电子设备 | |
CN116743905B (zh) | 通话音量控制方法及电子设备 | |
CN114050962B (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 |