一种音频数据处理方法及相关装置与流程

未命名 08-14 阅读:136 评论:0


1.本技术涉及电子技术和终端领域,尤其涉及一种音频数据处理方法及相关装置。


背景技术:

2.目前,为了提升电子设备对音频文件的播放效果,电子设备会配备双扬声器,一个扬声器可以输出音频文件的左声道数据,另一个扬声器可以输出音频文件的右声道数据。
3.由于通过扬声器来播放左声道数据和右声道数据的过程中,扬声器的功耗会加重电子设备在使用过程中的发热现象。所以,为了降低扬声器的功耗,会降低左声道数据和右声道数据的输出音量。
4.然而,用户在使用电子设备的过程中,会横屏使用或者竖屏使用。不论横屏使用还是竖屏使用,电子设备是使用同一个系数来降低左声道数据和右声道数据的输出影响,可能会造成音效和功耗的不平衡。因此,如何平衡电子设备功耗问题和音效问题是亟待解决的问题。


技术实现要素:

5.本技术实施例提供的一种音频数据处理方法及相关装置,可以通过电子设备的姿态来确定左声道音量和右声道音量,姿态不同时,左声道音量和右声道音量也不同,从而可以在保证音效的前提下降低电子设备的功耗。
6.第一方面,本技术提供了一种音频数据处理方法,应用于电子设备,所述电子设备配备有第一扬声器和第二扬声器,所述方法包括:获取音频数据,所述音频数据包括左声道数据和右声道数据;对所述电子设备的姿态进行检测,根据所述电子设备的姿态所对应的状态系数对所述音频数据进行降音处理,确定左声道音量和右声道音量;输出所述左声道音量的所述左声道数据和所述右声道音量的所述右声道数据。可以理解的是,电子设备的姿态不同,状态系数也不同,所以由状态系数所确定的左声道音量和右声道音量也不同。所以,电子设备在不同的姿态下可以达到不同的音效。另外,电子设备可以根据自己的姿态所对应的状态系数对音频数据进行降音处理,这样所确定的左声道音量和右声道音量相比于之前的音量来说,会降低一些,可以降低电子设备的功耗。
7.在第一方面的一种可能的实施方式中,所述对所述电子设备的姿态进行检测,根据所述电子设备的姿态所对应的状态系数对所述音频数据进行降音处理,确定左声道音量和右声道音量,包括:对所述电子设备的姿态进行检测,确定所述电子设备处于竖屏状态;其中,所述电子设备处于所述竖屏状态下,所述状态系数包括左声道打折系数和右声道打折系数,所述左声道打折系数和所述右声道打折系数不同;根据所述左声道打折系数确定所述左声道音量;根据所述右声道打折系数确定所述右声道音量。一般来说,对于双扬声器的电子设备来说,第一扬声器和第二扬声器的能效存在明显差异,相同功耗下,不同扬声器响度不同;相
同响度下,扬声器的功耗不同。所以,可以根据能效差异对第一扬声器和第二扬声器分配适宜响度比例,从而对音效和功耗进行动态调优。
8.在第一方面的一种可能的实施方式中,所述对所述电子设备的姿态进行检测,根据所述电子设备的姿态所对应状态系数对所述音频数据进行降音处理,确定左声道音量和右声道音量,包括:对所述电子设备的姿态进行检测,确定所述电子设备处于第一横屏状态或者第二横屏状态;其中,所述电子设备处于所述第一横屏状态或者第二横屏状态下,所述状态系数包括横屏打折系数;根据所述横屏打折系数对所述音频数据进行降音处理,确定所述左声道音量;根据所述横屏打折系数对所述音频数据进行降音处理,确定所述右声道音量。可以看出,在电子设备处于横屏状态时,所使用的打折系数是一样的,因此,左声道音量和右声道音量是一直保持不变的。这样,可以避免出现声道交换时所产生的pop音。
9.在第一方面的一种可能的实施方式中,所述输出所述左声道音量的所述左声道数据和所述右声道音量的所述右声道数据,包括:所述电子设备处于所述竖屏状态下,通过所述电子设备上侧输出所述右声道音量的所述右声道数据;通过所述电子设备下侧输出所述左声道音量的所述左声道数据。可以理解的是,电子设备的上侧所对应的扬声器的功耗对比电子设备的下侧所对应的扬声器的功耗大,当右声道音量低于左声道音量时,可以降低上侧扬声器的功耗,从而降低电子设备的功耗。
10.在第一方面的一种可能的实施方式中,所述方法还包括:所述电子设备从所述竖屏状态切换到所述第一横屏状态,通过所述电子设备右侧输出所述右声道音量的所述右声道数据;通过所述电子设备左侧输出所述左声道音量的所述左声道数据。
11.在第一方面的一种可能的实施方式中,所述方法还包括:所述电子设备从所述竖屏状态切换到所述第二横屏状态,通过所述电子设备右侧输出所述左声道音量的所述右声道数据;通过位于所述电子设备左侧输出所述右声道音量的所述左声道数据。可以看出,为了实现“听声辨位”,所输出的右声道数据要对应用户右耳,所输出的左声道数据要对应用户左耳。而为了降低电子设备的功耗,功耗大的扬声器要输出音量较小的数据。而电子设备右侧所对应的扬声器的功耗比电子设备左侧所对应的扬声器的功耗大,所以,电子设备右侧输出更小的音量,从而可以降低电子设备的功耗。
12.在第一方面的一种可能的实施方式中,输出所述左声道音量的所述左声道数据和所述右声道音量的所述右声道数,包括:所述电子设备处于第一横屏状态或者第二横屏状态下,通过所述电子设备右侧输出所述右声道音量的所述右声道数据;通过所述电子设备左侧输出所述左声道音量的所述左声道数据。可以看出,为了避免左右声道交换过程中出现pop音,保证音效,左右声道输出相同音量的数据。
13.在第一方面的一种可能的实施方式中,所述输出所述左声道音量的所述左声道数据和所述右声道音量的所述右声道数据,包括:通过所述电子设备的扬声器或者与所述电子设备建立连接关系的音频设备输出所述左声道音量的所述左声道数据和所述右声道音量的所述右声道数据。
14.第二方面,本技术实施例提供的一种电子设备,所述电子设备包括:多个扬声器;
一个或多个处理器;存储器;其中,所述多个扬声器用于播放所述电子设备的音频文件;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行第一方面或第一方面的任一种可能的实现方式中描述的驱动发声器件进行发声的方法。
15.第三方面,本技术提供一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行第一方面或第一方面的任意一种可能的实现方式中描述的驱动发声器件进行发声的方法。其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。
16.在一种可能的实现中,本技术实施例中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。
17.第四方面,本技术实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,该计算机程序被处理器执行时,使得计算机执行如第一方面或第一方面的任一种可能的实现方式中描述的驱动发声器件进行发声的方法。
18.第五方面,本技术实施例提供了一种计算机程序产品,当该计算机程序产品在通信装置上运行时,使得该通信装置执行如第一方面或第一方面的任一种可能的实现方式中描述的驱动发声器件进行发声的方法。
19.应当理解的是,本技术中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
附图说明
20.以下对本技术实施例用到的附图进行介绍。
21.图1是本技术实施例提供的一种双扬声器的电子设备示意图;图2a是本技术实施例提供的一种根据负增益对左声道和右声道进行调节的示意图;图2b是本技术实施例提供的一种通过顶部扬声器和底部扬声发出声音的示意图;图3是本技术实施例提供的一种电子设备的结构示意图;图4是本技术实施例提供的电子设备的软件架构示意图;图5a是本技术实施例提供的一种电子设备播放音频的实现过程示意图;图5b是本技术实施例提供的另一种电子设备播放音频的实现过程示意图;图6是本技术实施例提供的一种电子设备从竖屏状态切换到横屏状态的场景示意
图;图7a是本技术实施例提供的一种音效处理的示意图;图7b是本技术实施例提供的一种电子设备从竖屏状态切换到第二横屏状态的场景示意图;图8a是本技术实施例提供的一种通过打折系数配置左声道和右声道音量的流程示意图;图8b是本技术实施例提供的再一种电子设备从竖屏状态切换到横屏状态的场景示意图;图9是本技术实施例提供的一种通过蓝牙耳机播放音频数据的示意图;图10是本技术实施例提供的一种音频数据处理方法的流程示意图。
具体实施方式
22.本技术以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。如在本技术的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本技术中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
23.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本技术实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
24.本技术以下实施例中的术语“用户界面(user interface,ui)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markup language,xml)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphic user interface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素。
25.示例性的,本技术实施例中的电子设备可以是手机、平板电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,pda)、可穿戴式设备(如:智能手表、智能手环),等具备语音通信功能的设备,本技术实施例对该电子设备的具体形态不作特殊限制。
26.为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍。
27.结像感是一种听感,类似于摄影中的对焦。人有两只耳朵,所以类似于视觉,听觉也有对焦的概率,而对焦的结果称之为结像。声学中,人耳主要是通过左右耳声音的响度、混响和延迟时间来判定距离,通过左右耳声道的响度差来判定方位。在确定声音的距离以及方位后,就可以得到一个立体声形象,从而确定声源的位置。
28.目前,较多的电子设备均具有语音通信功能或音频播放功能。为了实现上述功能,
电子设备需要安装发声器件。随着手机的不断发展,为了给用户提供更好的听感,使用户能够感受到立体的音频播放效果,电子设备上通常会配备双扬声器。如图1所示,图1是本技术实施例提供的一种双扬声器的电子设备示意图。其中,电子设备100包括壳体结构101,该壳体结构101是由前面板(包括显示屏101a和边框101b)、用于支撑内部电路的后面板以及中框围合形成的。电子设备100的扬声器可以位于电子设备100的顶部102以及底部103,因此,电子设备100的顶部102会设置有一个顶部扬声器1021,电子设备100的底部103也会设置有一个底部扬声器1031。通常情况下,顶部扬声器1021和底部扬声器1031是设置在电子设备100的内部,需要在电子设备的顶部和底部进行开孔形成出音孔。当顶部扬声器1021和/或底部扬声器1031发声时,顶部扬声器1021和/或底部扬声器1031发出的声音能量能够通过对应的出音孔传出,以使用户听到电子设备100的不同方位所发出的声音,使用户能够感受到立体的音频播放效果。
29.在一种应用场景下,用户长时间通过电子设备(如手机)播放音频,例如刷短视频、听音乐、看电影或者玩游戏时,电子设备通常会通过迅速降低数字域音频信号的幅度来降低扬声器的温度,以实现对扬声器的温度保护。当扬声器的音圈的温度高到一定程度时,根据负增益对音频信号进行调整,以降低音频信号的播放功率,进而降低扬声器音圈的温度。但是,随着扬声器的音圈温度的降低,相应的负增益的幅度也会降低,也即用于对音频信号进行调整的负增益是实时变化的。然而,负增益的添加以及变化会导致播放的音频信号的响度产生人耳听觉可闻的变化。示例性的,当扬声器音圈的温度高到一定程度时,负增益的添加无疑会降低音频信号的响度,影响用户听觉体验。此时,如果用户增大音频播放音量,无疑会进一步增加手机功耗,导致扬声器音圈升温,以使扬声器音圈无法得到较佳的温度保护。
30.请参见图2a和图2b,图2a是本技术实施例提供的一种根据负增益对左声道和右声道进行调节的示意图。图2b是本技术实施例提供的一种通过顶部扬声器和底部扬声发出声音的示意图。图2b所示的电子设备100可以显示状态栏,状态栏可以位于显示界面的顶部,可以包括移动通信信号(又可称为蜂窝信号)的信号强度指示符、无线高保真(wireless fidelity,wi-fi)信号强度指示符,电池状态指示符、时间指示符等。
31.从图2a可以看出,电子设备100内部存储有默认系数(比如说0.8),其中,默认系数可以认为是对左声道和右声道的负增益,对左声道和右声道的音量进行一定程序的减弱。
32.从图2a可以看出,电子设备100处于竖屏状态下时,左声道=左声道音量*默认系数(比如说0.8)=0.8*左声道音量,右声道=右声道音量*默认系数(比如说0.8)=0.8*右声道音量。从图2b可以看出,电子设备100处于竖屏状态下时,电子设备100的顶部扬声器1021发出的0.8*右声道音量的右声道数据,电子设备100的底部扬声器1031发出0.8*左声道音量的左声道数据。
33.从图2a可以看出,电子设备100处于横屏状态下时,左声道=左声道音量*默认系数(比如说0.8)=0.8*左声道音量,右声道=右声道音量*默认系数(比如说0.8)=0.8*右声道音量。从图2b可以看出,电子设备100从竖屏状态切换到第一横屏状态时(切换方式例如为顺时针旋转90度),顶部扬声器1021位于电子设备100的右侧,底部扬声器1031位于电子设备100的左侧。电子设备100的右侧可以通过顶部扬声器1021发出0.8*右声道音量的右声道数据,电子设备100的左侧可以通过底部扬声器1031发出0.8*左声道音量的左声道数据。从图
2b还可以看出,电子设备100从竖屏状态切换到第二横屏状态2时(切换方式例如为逆时针旋转90度或者顺时针旋转270度),顶部扬声器1021位于电子设备100的左侧,底部扬声器1031位于电子设备100的右侧。电子设备100的左侧可以通过顶部扬声器1021发出0.8*右声道音量的右声道数据,电子设备100的右侧可以通过底部扬声器1031发出0.8*左声道音量的左声道数据。
34.可以看出,不论电子设备100处于横屏状态还是竖屏状态,顶部扬声和底部扬声器输出的音量的响度都是一致的,由于顶部扬声器和底部扬声器的能效不同,所以在相同响度下,顶部扬声器和底部扬声器的功耗不同,例如顶部扬声器的功耗会大一些。
35.综上所述,功耗问题和响度问题在音频声量中占有一部分比值,所以不能为了降低功耗而去减少响度。因此,如何去平衡功耗和音频效果这两方面,是亟需解决的一个问题。
36.有鉴于此,本技术提出了一种音频数据处理方法、电子设备、芯片及相关装置,电子设备配置有顶部扬声器和底部扬声器,顶部扬声器和底部扬声器的能效存在差异。也即,在功耗相同的情况下,顶部扬声器和底部扬声器输出的音频响度不同;或者,在顶部扬声器和底部扬声器输出响度相同的情况下,功耗是不一样的。因此,本技术利用扬声器的能效差异,对顶部扬声器和底部扬声器分配不同的响度比例,根据响度比例来调节输出的音频信号的响度,从而来平衡功耗和音频效果。
37.示例地,以电子设备为手机为例,图3是本技术实施例提供的一种电子设备100的结构示意图。也即,示例性的,图3所示的电子设备可以是手机。
38.如图3所示,电子设备100可以包括:处理器310,外部存储器接口320,内部存储器321,通用串行总线(universal serial bus,usb)接口330,充电管理模块340,电源管理模块341,电池342,天线1,天线2,移动通信模块350,无线通信模块360,音频模块370,扬声器370a,受话器(即听筒)370b,麦克风370c,耳机接口370d,传感器模块380,按键390,马达391,指示器392,摄像头393,显示屏394,以及用户标识模块(subscriber identification module,sim)卡接口395,屏幕发声器件396等。
39.其中,上述传感器模块可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器和骨传导传感器等传感器。
40.可以理解的是,本实施例示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
41.处理器310可以包括一个或多个处理单元,例如:处理器310可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。例如,上述示出的多个处理单元均集成在一个系统芯片(system on chip,soc)内,或者,dsp为一个单独的半导体芯片,其他处理单元集成在一
个soc内,本技术对此不作限定。
42.控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
43.处理器310中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器310中的存储器为高速缓冲存储器。该存储器可以保存处理器310刚用过或循环使用的指令或数据。如果处理器310需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器310的等待时间,因而提高了系统的效率。
44.在一些实施例中,处理器310可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口,集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
45.可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
46.充电管理模块340用于从充电器(如无线充电器或有线充电器)接收充电输入,为电池342充电。电源管理模块341用于连接电池342,充电管理模块340与处理器310。电源管理模块341接收电池342和/或充电管理模块340的输入,为电子设备的各个器件供电。
47.电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块350,无线通信模块360,调制解调处理器以及基带处理器等实现。
48.天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
49.在一些实施例中,电子设备100的天线1和移动通信模块350耦合,天线2和无线通信模块360耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。上述移动通信模块350可以提供应用在电子设备100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块350可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块350可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。
50.移动通信模块350还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块350的至少部分功能模块可以被设置于处理器310中。在一些实施例中,移动通信模块350的至少部分功能模块可以与处理器310的至少部分模块被设置在同一个器件中。
51.无线通信模块360可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红
外技术(infrared,ir)等无线通信的解决方案。
52.无线通信模块360可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块360经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器310。无线通信模块360还可以从处理器310接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
53.当然,上述无线通信模块360也可以支持电子设备100进行语音通信。例如,电子设备100可以通过无线通信模块360接入wi-fi网络,然后使用任一种可提供语音通信服务的应用程序与其他设备进行交互,为用户提供语音通信服务。例如,上述可提供语音通信服务的应用程序可以是即时通讯应用。
54.电子设备100可以通过gpu,显示屏394,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏394和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器310可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。显示屏394用于显示图像,视频等。
55.电子设备100可以通过isp,摄像头393,视频编解码器,gpu,显示屏394以及应用处理器等实现拍摄功能。isp用于处理摄像头393反馈的数据。在一些实施例中,isp可以设置在摄像头393中。摄像头393用于捕获静态图像或视频。在一些实施例中,电子设备100可以包括1个或n个摄像头393,n为大于1的正整数。
56.外部存储器接口320可以用于连接外部存储卡,例如micro sd卡,实现扩展电子设备100的存储能力。内部存储器321可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器310通过运行存储在内部存储器321的指令,从而执行电子设备100的各种功能应用以及数据处理。例如,在本技术实施例中,处理器310可以通过执行存储在内部存储器321中的指令,内部存储器321可以包括存储程序区和存储数据区。
57.电子设备100可以通过音频模块370,扬声器370a,受话器(即听筒)370b,麦克风370c,耳机接口370d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
58.音频模块370用于将数字音频信号转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块370还可以用于对音频信号编码和解码。在一些实施例中,音频模块370可以设置于处理器310中,或将音频模块370的部分功能模块设置于处理器310中。
59.扬声器370a,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备可以通过扬声器370a播放音乐,或接听免提通话。通常,为了提高电子设备100的播放效果,电子设备100上会配置多个扬声器,例如可以配备两个扬声器。两个扬声器的位置可以参加图1所示。
60.受话器370b,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过受话器170b靠近人耳接听语音。
61.示例性的,本技术实施例中,电子设备100在播放电影过程中,由音频模块370的扬声器370a播放该音频信号,同时由屏幕发声器件396来驱动屏幕(即显示屏)进行屏幕发声以播放该音频信号。扬声器370a和屏幕发声器件396的数量可以是一个或者多个。例如,电子设备上可以配置2个扬声器170a以及一个屏幕发声器件396。
62.麦克风370c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风370c发声,将声音信号输入到麦克风
370c。电子设备100可以设置至少一个麦克风370c。在另一些实施例中,电子设备100还可以设置两个麦克风370c,除了采集声音信号,还可以实现降噪功能,在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风370c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
63.耳机接口370d用于连接有线耳机。耳机接口370d可以是usb接口330,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,ctia)标准接口。
64.按键390包括开机键,音量键等。按键390可以是机械按键,也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
65.示例性的,在本技术实施例中,按键390可以包括手机侧边框的机械音量按键,或者其他触摸式的音量调节按键。
66.可选地,用户可以通过按压手机侧边框的机械音量按键触发调节音量的过程。例如当检测到用户按压该机械音量按键上增大音量的区域(或者按压该机械音量按键上减小音量的区域)时,手机可以在当前界面上自动显示音量调节窗口,且该音量调节窗口中可以根据不同的场景,显示不同数量、不同种类或不同应用的音量进度条。
67.马达391可以产生振动提示。指示器392可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。sim卡接口395用于连接sim卡。电子设备100可以支持1个或n个sim卡接口,n为大于1的正整数。
68.当然,可以理解的,上述图3所示仅仅为电子设备的设备形态为电子设备100时的示例性说明。若电子设备是平板电脑,手持计算机,pda,可穿戴式设备(如:智能手表、智能手环)等其他设备形态时,电子设备的结构中可以包括比图3中所示更少的结构,也可以包括比图3中所示更多的结构,在此不作限制。
69.在本技术实施例中,电子设备100可以包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。其中,硬件层可以包括中央处理器(central processing unit,cpu)、内存管理器(memory management unit,mmu)和内存(也称为主存)等硬件。操作系统层的操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,linux操作系统、unix操作系统、android操作系统、ios操作系统或windows操作系统等。应用层可以包含浏览器、通讯录、文字处理软件、即时通信软件、音频播放软件、视频播放软件等应用。
70.在一种实施方式中,电子设备(如手机)的软件系统可以采用分层架构,事务驱动架构,微核架构,微服务架构,或云架构。本技术实施例以分层架构的android系统为例,示例性说明手机的软件架构。请参见图4,图4是本技术实施例提供的电子设备的软件架构示意图。
71.分层架构将软件分为若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为五层,从上至下分别为应用程序层,应用程序框架层(frame),硬件抽象层(hardware abstraction layer,hal),内核层以及硬件层。
72.应用层可以包括一系列应用程序的程序包。
73.如图4所示,应用程序可以包括音乐,视频,游戏,社交应用等应用程序。
74.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
75.因此,电子设备通过应用程序和应用程序框架层可以确定用户的使用场景。
76.如图4所示,应用程序框架层中设置有音频框架。音频框架可以用于初始化音频播放器,获取当前音频文件的音量大小,调节音频播放的音量大小,增加音效等。
77.另外,应用程序框架层还可以包括电话管理器,窗口管理器,内容提供器,视图系统,资源管理器,通知管理器等。
78.电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。窗口管理器用于管理窗口程序。窗口管理服务可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。上述内容提供服务用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。上述视图系统可用于构建应用程序的显示界面。每个显示界面可以由一个或多个控件组成。一般而言,控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、微件(widget)等界面元素。上述资源管理服务为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。上述通知管理服务使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理服务被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,振动,指示灯闪烁等。
79.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
80.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
81.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
82.其中,媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。
83.媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
84.硬件抽象层(hardware abstraction layer)hal为位于操作系统内核与硬件电路之间的接口层,提供了与电子设备的不同应用模块对应的hal。如图4所示,hal包括但不限于音频硬件抽象层(audio hal)和摄像头硬件抽象层(camera hal)等。其中,audio hal用于对音频流进行处理,例如,对音频流进行降噪、定向增强等处理,camera hal用于对图像流进行处理。
85.内核层是硬件与上述软件层之间的层。内核层至少包括显示驱动,摄像头驱动,音频驱动,传感器驱动。其中,该硬件可以属于硬件层,该硬件可以包括摄像头,显示屏,麦克风,扬声器,处理器,以及存储器等器件。
86.其中,通过内核层的音频驱动可以与硬件层的发声器件对应。当电子设备设置多个发声器件(如多个扬声器)时,这多个发声器件可以分别与内核层的多个音频驱动对应。
87.下面结合应用程序启动或应用程序中音频播放的场景进行示例性说明,示例性的,用户启动应用程序,电子设备通过安全防护程序识别用户使用场景,根据产品配置文件获取针对该应用程序的打折系数,并将打折系统下发给应用框架层中的音频框架,音频框架接收应用程序层发来的打折系数并保存。其中,应用程序中的待播放音频文件也被写入音频框架中。音频框架可以根据打折系数对待播放音频文件的音量进行打折处理,待播放音频文件中的左声道数据和右声道数据的音量可以分别处理。音频框架可以将处理后的音频数据发给混音器,由混音器将输出的音频数据进行混合,输出混合后的音频数据。hal中的audio hal可以接收音频框架下发的混合后的音频数据,并选择输出的音频硬件设备。进一步访问内核层的该音频硬件设备对应的驱动程序,从而驱动该音频硬件设备按照左声道数据和右声道数据对应的音量进行播放。进一步地,可以由硬件层的音频数字信号处理器(adsp)接收混合后的音频数据,然后由adsp将混合后的音频数据发送给对应的扬声器,比如说顶部扬声器和底部扬声器,由顶部扬声器和底部扬声器来分别播放响度不同的信号。
88.电子设备100可以基于音频(audio)系统播放不同的音频。应理解,该audio系统对外的播放接口是音轨(audio track),每一个应用会在应用程序框架层创建一个对应的audio track。请参见图5a,图5a是本技术实施例提供的一种电子设备播放音频的实现过程示意图。
89.从图5a可以看出,应用程序层的应用程序输出音频数据,根据产品配置文件获取针对该应用程序的打折系数。该应用程序调用应用程序框架层中对应的音频播放接口,在应用程序框架层创建该应用程序对应的audio track,并将打折系数存储到audio track中,audio track可以输出解码后的音频数据。可选地,音频播放接口可以是采用媒体播放器(media player)的java类应用程序的编程接口(application programming interface,api),即java api。
90.应用程序对应的audio track可以加载音频数据对应的设备音量、应用音量和对应的打折系数,对左声道和右声道分别处理后得到音量参数,该音量参数作为该应用程序输出的音频流的播放音量。其中,音量参数包括左声道音量和右声道音量。
91.在一种可能的实现中,打折系数是根据电子设备的姿态所对应的状态系数所确定的。电子设备处于竖屏状态时,状态系数包括左声道打折系数和右声道打折系数。所以,左声道音量根据左声道的默认音量(设备音量和应用音量所确定的)和左声道打折系数所确定的,右声道音量根据右声道的默认音量(设备音量和应用音量所确定的)和右声道打折系数所确定的。
92.在另一种可能的实现中,电子设备处于横屏状态时,状态系数包括横屏打折系数。所以,左声道音量根据左声道的默认音量(设备音量和应用音量所确定的)和横屏打折系数所确定的,右声道音量根据右声道的默认音量(设备音量和应用音量所确定的)和横屏打折系数所确定的,应用程序对应的audio track可以将音量参数和音频数据发送给混音器(audio mixer),混音器基于音量参数对音频数据进行混音、重采样、过音效后,输出混合后的音频数据。
93.音频硬件抽象层(audio hardware abstraction layer,audio hal)可以选择音频流(包括混合后的音频数据)的输出硬件设备,并访问内核层的该硬件设备的驱动程序,从而通过该硬件设备播放该应用程序对应的音频,左声道和右声道的播放音量不同,所以通过顶部扬声器和底部扬声器输出的响度也不一样。
94.从图5a可以得知,应用程序开始播放音频文件后会创建一个音轨audio track,创建过程中,音频框架可以将打折系数存储到audio track里面。创建完成audio track后,可以根据音源的声道数、采样率等参数打开对应的播放通路。请参见图5b,图5b是本技术实施例提供的另一种电子设备播放音频的实现过程示意图。从图5b可以看出,电子设备100在这个播放通路上可以创建播放线程,电子设备100每间隔预设时间会循环一次播放线程、处理数据流、控制流,以及从控制流中获取音频参数。在一种可能的实现中,间隔时刻可以根据所开启的应用程序确定,示例性的,若应用程序对应的音频播放为普通播放,比如说音乐类应用程序,则预设时间可以是40ms。若应用程序对应的音频播放为低时延播放,比如说游戏类应用程序,则预设时间可以是20ms。
95.对于普通播放来说,以预设时间为40ms为例进行说明循环获取音频参数的过程。电子设备100可以每间隔40ms从播放线程中获取设备音量、应用音量等音频参数。其中,设备音量为通过按压电子设备100的侧边框的机械音量按键所确定的。应用音量为通过所启动的应用程序所设置的客户端音量,例如应用音量为通过应用程序所提供的触摸式的音量调节按键所确定的。
96.在一种可能的实现中,电子设备处于竖屏状态下,电子设备100可以根据左声道的默认音量(设备音量和应用音量所确定的)和左声道打折系数来确定左声道音量,根据右声道的默认音量(设备音量和应用音量所确定的)和右声道打折系数来确定右声道音量。例如,电子设备100将设备音量和应用音量进行相乘可以确定默认音量,再乘以audio track中存储的打折系数。因为左声道和右声道对应的打折系数不一样,所以左声道和右声道的默认音量可以分别处理。
97.在另一种可能的实现中,电子设备处于横屏状态下,电子设备100可以根据默认音量(设备音量和应用音量所确定的)和横屏打折系数来确定左声道音量和右声道音量。
98.最后,将得到的左声道音量和右声道音量发送给混音器。混音器对接收到的数据进行混音、重采样和过音效后将得到的数据写给硬件层。最后,由硬件层的顶部扬声器按照右声道音量以第一响度输出右声道数据,由底部扬声器按照左声道音量以第二响度输出左声道数据。
99.对于低时延播放来说,与预设时间为20ms为例进行说明循环获取音频参数的过程。电子设备100可以每间隔20ms从播放线程中获取设备音量、应用音量等音频参数,将上述音频参数存储到缓存cache中,将audio track中存储的打折系数存储到存储对象中,比如说存储对象可以是volume provider。电子设备100在处理低时延数据时,可以每间隔一段时间(比如说4ms)循环cache一次,获取cache中存储的音频参数。因此,电子设备100可以根据打折系数和其他音频参数确定左声道的音量参数和右声道的音量参数,也即,电子设备100处于竖屏状态时,电子设备100将设备音量和应用音量进行相乘,再乘以左声道和右声道分别对应的打折系数,得到左声道音量和右声道音量。或者,电子设备100处于横屏状态时,电子设备100将设备音量和应用音量进行相乘,再乘以横屏打折系数,得到左声道音
量和右声道音量。
100.最后,将得到的左声道音量和右声道音量发送给混音器。
101.可以理解的是,因为打折系数存储在audio track中的,而每一个应用程序都会创建自己独立的audio track,所以存储在audio track中的打折系数也是互不影响的。比如说对于并发的场景,导航应用程序和音乐应用程序同时在运行,因为打折系数是存储在每个应用程序对应的audio track中,所以导航应用程序和音乐应用程序可以使用对应的打折系数对音频进行处理后播放。
102.请参见图6,图6是本技术实施例提供的一种电子设备从竖屏状态切换到横屏状态的场景示意图。可以理解的是,某些应用程序是只适配横屏的,也即在电子设备100处于横屏状态时可以给用户提供较好的体验。比如说某些游戏类应用,电子设备100在竖屏状态下运行该游戏类应用时,电子设备100的显示屏上显示该应用的横屏应用界面。由于游戏类应用的竖屏应用界面未适配电子设备100的竖屏,所以需要将电子设备100从竖屏状态切换到横屏状态。
103.其中,图6的(a)为电子设备100从竖屏状态切换为第一横屏状态的示意图,切换方式例如为顺时针旋转90度;图6的(b)为电子设备100从竖屏状态切换为第二横屏状态的示意图,切换方式例如为逆时针旋转90度或者顺时针旋转270度。
104.需要说明的是,电子设备100处于竖屏状态下时,顶部扬声器1021按照右声道音量以第一响度输出右声道数据,底部扬声器1031按照左声道音量以第二响度输出左声道数据。在一种场景下,用户经常可以通过顶部扬声器1021和底部扬声器1031发出的声音来判断游戏类应用程序中人物的位置是在左边还是在右边。其中,右声道音量是根据设备音量、应用音量和右声道打折系数所确定的,左声道音量是根据设备音量、应用音量和左声道打折系数所确定的。
105.从图6的(a)可以看出,将电子设备100从竖屏状态切换至第一横屏状态之后,电子设备100的顶部扬声器1021位于电子设备100的右侧,底部扬声器1031位于电子设备100的左侧。由于右声道数据是通过顶部扬声器1021输出的,左声道数据是通过底部扬声器1031输出的,所以电子设备100的右侧可以输出右声道数据,左侧可以输出左声道数据。因为电子设备100的右侧对应于用户的右耳,左侧对应于用户的左耳,所以电子设备100处于图6的(a)所示的第一横屏状态下,用户可以通过顶部扬声器1021发出的右声道音量的右声道数据和底部扬声器1031发出的左声道音量的左声道数据进行“听声辩位”。
106.从图6的(b)可以看出,将电子设备100从竖屏状态切换至第二横屏状态之后,电子设备100的顶部扬声器1021位于电子设备100的左侧,底部扬声器1031位于电子设备100的右侧。由于右声道的右声道数据是通过顶部扬声器1021输出的,左声道的左声道数据是通过底部扬声器1031输出的,在这种情况下,电子设备100的左侧输出第一响度的右声道数据,电子设备100的右侧输出第二响度的左声道数据。因为电子设备100的右侧对应于用户的右耳,左侧对应于用户的左耳,所以,此时用户的左耳和右耳听到的声音不符合通常听到的左声道数据和右声道数据。在游戏中,用户就不太可能“听声辩位”了。
107.可以理解的是,为了实现“听声辩位”,电子设备100从竖屏状态切换至第二横屏状态时,会有一个左右声道交换的过程。也即,右声道数据从电子设备100的右侧输出,左声道数据从电子设备的左侧输出。但是,顶部扬声器1021和底部扬声器1031的能耗存在明显差
异。所以在本技术实施例中,在有限的功耗资源情况下,根据打折系数在对应场景下适配顶部扬声器1021和底部扬声器1031的响度比例,以达到音频效果的调优。在不降低音频效果的体验下,根据打折系数在对应场景下适配顶部扬声器1021和底部扬声器1031的响度比例,以达到功耗的调优。比如说,顶部扬声器1021的功耗消耗大,所以在电子设备100处于横屏状态时,不论顶部扬声器1021位于电子设备100的左侧还是右侧,顶部扬声器1021都需要输出更小的音量。也即,在左右声道交换的过程中,左右声道的打折系数也需要交换。
108.请参见图7a,图7a是本技术实施例提供的一种音效处理的示意图。从图7a可以看出,音频数据在混音器中进行混音和重采样后,会对混音后的音频数据进行音效处理,例如可以在音频框架集成的音效模块中对音频数据进行音效处理。在该音效处理的过程中,左声道数据和右声道数据从混音缓存器(buffer)拷贝至音效缓存器(buffer)时,会处理声道交换。
109.从图7a可以看出,若没有发生声道交换,则在进行音效处理的时候,从混音器中取用左声道的音量参数和右声道的音量参数。也即,左声道=每一帧左声道数据*左声道音量,右声道=每一帧右声道数据*右声道音量。从图6的(a)可以看出,电子设备100从竖屏状态切换到第一横屏状态时,电子设备100没有发声声道交换,电子设备100右侧的顶部扬声器输出右声道音量的右声道数据,电子设备100左侧的底部扬声器输出左声道音量的左声道数据。
110.若发生了声道交换,则在进行音效处理的时候会从混音器中取用右声道音量作为左声道音量数,取用左声道音量作为右声道音量。也即,左声道=每一帧左声道数据*右声道音量,右声道=每一帧右声道数据*左声道音量。在混音器中所确定的右声道音量=应用音量*设备音量*右声道打折系数,左声道音量=应用音量*设备音量*左声道打折系数。
111.请参见图7b,图7b是本技术实施例提供的一种电子设备从竖屏状态切换到第二横屏状态的场景示意图,从图7b可以看出,电子设备100从竖屏状态切换至第二横屏状态(切换方式例如逆时针旋转90度或者顺时针旋转270度)时,会有一个声道交换的过程,也即顶部扬声器1021输出右声道音量的左声道数据,底部扬声器1031输出左声道音量的右声道数据。
112.综上所述,在混音器中对左声道音量和右声道音量确定完成后,可以进行音效算法处理,然后写数据给底层输出。若发生了声道交换,则由硬件层的顶部扬声器按照右声道音量输出左声道数据,由底部扬声器按照左声道音量输出右声道数据。若没有发生信道交换,则由硬件层的顶部扬声器按照右声道音量输出右声道数据,由底部扬声器按照左声道音量输出左声道数据。
113.可以理解的是,音频数据是循环从播放线程里获取的,因此,每获取到一个音频数据后,可以将当前的音频数据输入到混音器里进行混音,并根据左声道的打折系数确定音频数据的左声道音量参数,根据右声道的打折系数确定音频数据的右声道音量,然后将左声道音量和右声道音量发给音效模块进行音效处理。那么若在数据搬运的过程中,电子设备从竖屏状态切换为第二横屏状态,电子设备可以发生声道交换。若在确定当前的音频数据的左声道音量和右声道音量之后发生了声道交换,则原本应该通过底部扬声器输出的左声道音量,将会通过顶部扬声器输出;原本应该通过顶部扬声器输出的右声道音量,将会通过底部扬声器输出。此时,电子设备100处于第二横屏状态时,顶部扬声器位于电子设备的
左侧,那么电子设备的左侧将会以左声道音量输出左声道数据;底部扬声器位于电子设备的右侧,那么电子设备的右侧将会以右声道音量输出右声道数据。
114.对于下一个循环获取到的音频数据来说,因为电子设备已经发生了声道交换,所以在混音器里对该音频数据进行混音时,左声道和右声道的打折系数也需要交换。也即根据左声道打折系数确定音频数据的右声道音量,根据右声道打折系数确定音频数据的左声道音量。因为电子设备100处于第二横屏状态时,顶部扬声器位于电子设备100的左侧,那么电子设备100的左侧将会以根据右声道打折系数确定的左声道音量(也即右声道音量)输出左声道数据;底部扬声器位于电子设备的右侧,那么电子设备的右侧将会以根据左声道打折系数确定的右声道音量(也即左声道音量)输出右声道数据。
115.可以理解的是,当底部扬声器一直输出一个音量大小(左声道音量)的情况下,中间有一段音频数据输出另一个音量大小(右声道音量)时,会产生pop音。pop音所带给用户的听感就是突然响了一下就恢复正常了,这种爆破的声音十分影响用户体验。
116.图2a和图2b所示的对音量进行打折的方案,是根据场景左声道和右声道共用一个打折系数(即默认系数)。所以,在电子设备处于横屏状态时,综合音频效果的考虑,可以将左声道和右声道共用一个打折系数(即默认参数)。可以理解的是,虽然说降低功耗很重要,但是音频效果的功能体验也很重要。
117.请参见图8a和图8b,图8a是本技术实施例提供的一种通过打折系数配置左声道和右声道音量的流程示意图。图8b是本技术实施例提供的再一种电子设备从竖屏状态切换到横屏状态的场景示意图。
118.从图8a可以看出,电子设备100可以维护一个数组,该数组内存储有4个参数,包括默认系数,横屏打折系数,左声道打折系数和右声道打折系数。若电子设备100有配置上述数组中的任何一个参数,那么其他参数会被重新赋值。
119.在一种可能的实施方式中,当电子设备100处于竖屏状态时,电子设备100可以根据左声道的默认音量和左声道打折系数来确定左声道音量,也即左声道音量=左声道的默认音量*左声道打折系数。电子设备100可以根据右声道的默认音量和右声道打折系数来确定右声道音量,也即右声道音量=右声道的默认音量*右声道打折系数。因为,右声道打折系数和左声道打折系数不相同,所以最终所确定的左声道音量和右声道音量也不相同。
120.再另一种可能的实施方式,因为电子设备100内存储有默认系数,所以可以通过默认系数来确定左声道音量和右声道音量。也即,当电子设备100处于竖屏状态时,电子设备100可以根据左声道的默认音量和默认系数来确定左声道音量,也即左声道音量=左声道的默认音量*默认系数。电子设备100可以根据右声道的默认音量和默认系数来确定右声道音量,也即右声道音量=右声道的默认音量*右声道打折系数。
121.综上所述,本技术提出的音频处理方法可以兼容现有方式中通过一个默认系数对音量进行降音的方案,根据实际场景可以选择对应的方案。比如说对于游戏类应用程序,电子设备100可以根据左默认系数来确定游戏类音频数据的左声道音量和右声道音量。对比短视频类应用程序,电子设备100可以根据左打折系数和右打折系数来确定短视频类音频数据的左声道音量和右声道音量。
122.当右声道打折系数为0.7时,从图8b可以看出,电子设备100通过顶部扬声器1021输出0.7*右声道的默认音量的右声道数据。当左声道打折系数为0.9时,电子设备100通过
底部扬声器1031输出0.9*左声道的默认音量的左声道数据。可以看出,电子设备100处于竖屏状态时,底部扬声器1031和顶部扬声器1021输出音量不同的数据。
123.从图8a可以看出,电子设备100从竖屏状态切换到第一横屏状态或者第二横屏状态时,第一横屏状态的切换方式例如顺时针旋转90度,第二横屏状态的切换方式例如逆时针旋转90度或者顺时针旋转270度。电子设备100可以根据左声道的默认音量和横屏打折系数来确定左声道音量,也即左声道音量=左声道的默认音量*横屏打折系数。电子设备100可以根据右声道的默认音量和横屏打折系数来确定右声道音量,也即右声道音量=右声道的默认音量*横屏打折系数。
124.当横屏打折系数为0.8时,从图8b可以看出,电子设备100从竖屏状态切换为横屏状态时,电子设备100的左声道数据、左声道音量和右声道数据、右声道音量会进行交换。因此,电子设备100处于第一横屏状态和第二横屏状态时,电子设备100通过位于左侧的顶部扬声器1021输出0.8*左声道的默认音量的左声道数据,通过位于右侧的底部扬声器1031输出0.8*右声道的默认音量的右声道数据。可以看出,电子设备100处于第一横屏状态和第二横屏状态时,底部扬声器1031和顶部扬声器1021输出音量相同的音频数据。
125.电子设备100可以通过音频播放设备来播放音频数据,音频播放设备可以是蓝牙耳机或者有线耳机。电子设备100可以通过蓝牙技术(包括经典蓝牙和低功耗蓝牙(bluetooth low energy,ble))、wi-fi直连、局域网等任一项与蓝牙设备连接和通信。电子设备100与音频播放设备建立了蓝牙连接后,电子设备100可以通过蓝牙传输链路将音频数据发送至音频播放设备上进行播放。电子设备100通过usb接口与有线耳机连接和通信,电子设备与有线耳机建立了连接后,电子设备100可以通过有线传输链路将音频数据发送至音频播放设备上进行播放。
126.请参见图9,图9是本技术实施例提供的一种通过蓝牙耳机播放音频数据的示意图。从图9可以看出,电子设备100与蓝牙耳机200建立通信连接。当电子设备100处于竖屏状态时,电子设备100可以根据左声道的默认音量和左声道打折系数来确定左声道音量,也即左声道音量=左声道的默认音量*左声道打折系数。电子设备100可以根据右声道的默认音量和右声道打折系数来确定右声道音量,也即右声道音量=右声道的默认音量*右声道打折系数。电子设备100将左声道音量的左声道数据和右声道音量的右声道数据向蓝牙耳机200发送,蓝牙耳机200通过左耳机201输出左声道音量的左声道数据,通过右耳机202输出右声道音量的左声道数据。因为,右声道打折系数和左声道打折系数不相同,所以对左声道音量和右声道音量的降音程度是不同的。当右声道打折系数为0.7,左声道打折系数为0.9时,右耳机202输出0.7*右声道的默认音量的右声道数据,左耳机201输出0.9*左声道的默认音量的左声道数据。
127.从图9还可以看出,电子设备100从竖屏状态切换为第一横屏状态或者第二横屏状态时,第一横屏状态的切换方式例如顺时针旋转90度,第二横屏状态的切换方式例如逆时针旋转90度或者顺时针旋转270度。电子设备100可以根据左声道的默认音量和横屏打折系数来确定左声道音量,也即左声道音量=左声道的默认音量*横屏打折系数。电子设备100可以根据右声道的默认音量、默认参数和横屏打折系数来确定右声道音量,也即右声道音量=右声道的默认音量*横屏打折系数。因此,左声道音量和右声道音量所使用的打折系数相同,当横屏打折系数为0.8时,右耳机202输出0.8*右声道的默认音量的右声道数据,左耳机
201输出0.8*左声道的默认音量的左声道数据。可以看出,对左声道音量和右声道音量的降音程度是相同的。
128.基于以上所示实施例,接下来介绍本技术实施例提供的音频数据处理方法。该方法可以应用于上述内容所示的电子设备100,该方法可以包括但不限于以下步骤:请参见图10,图10是本技术实施例提供的一种音频数据处理方法的流程示意图。
129.步骤s1001,电子设备获取音频数据。
130.本技术实施例中,应用层启动应用程序后,电子设备可以获取应用程序所对应的音频数据,比如说音频数据可以是音乐、游戏、视频等应用程序所提供的音频文件。
131.步骤s1002,对电子设备的姿态进行检测,根据电子设备的姿态所对应的状态系数对音频数据进行降音处理,确定左声道音量和右声道音量。
132.具体的,电子设备中的传感器模块可以获取加速度传感器上报的重力信息,根据加速度传感器上报的重力信息,检测电子设备的重力方向的变化,从而对电子设备的姿态进行检测。
133.其中,电子设备存储有状态系数,状态系数用于对音频数据的音量进行降音处理,而电子设备不同的姿态对应不同的状态系数。
134.在一种可能的实施方式中,对电子设备的姿态进行检测,确定电子设备处于竖屏状态;其中,电子设备处于所述竖屏状态下,状态系数包括左声道打折系数和右声道打折系数,左声道打折系数和右声道打折系数不同;电子设备根据左声道打折系数对音频数据进行降音处理,确定左声道音量,进一步地,电子设备根据应用音量、设备音量和左声道打折系数确定左声道音量。
135.电子设备所述右声道打折系数对音频数据进行降音处理,确定右声道音量,进一步地,电子设备根据应用音量、设备音量和右声道打折系数确定右声道音量。
136.在另一种可能的实施方式中,对所述电子设备的姿态进行检测,确定电子设备处于第一横屏状态或者第二横屏状态;其中,电子设备处于横屏状态下,状态系数包括横屏打折系数;电子设备根据横屏打折系数述音频数据进行降音处理,确定左声道音量,进一步地,电子设备根据应用音量、设备音量和横屏打折系数确定左声道音量;电子设备横屏打折系数对音频数据进行降音处理,确定所述右声道音量,进一步地,电子设备根据应用音量、设备音量和横屏打折系数确定右声道音量。
137.步骤s1003,电子设备输出左声道音量的左声道数据和右声道音量的右声道数据。
138.进一步地,电子设备通过双扬声器或者与电子设备建立连接关系的耳机左声道音量的左声道数据和右声道音量的右声道数据。双扬声器包括电子设备处于竖屏状态时,位于电子设备上侧的顶部扬声器和位于电子设备下侧的底部扬声器。耳机包括左声道和右声道。
139.在一种可能的实施方式下,电子设备处于所述竖屏状态下,通过所述电子设备上侧(即顶部扬声器)输出右声道音量的所述右声道数据,通过电子设备下侧(底部扬声器)输出左声道音量的所述左声道数据。
140.在一种可能的实现中,检测到电子设备从竖屏状态切换到第一横屏状态(切换方式例如为顺时针旋转90度),通过电子设备右侧(顶部扬声器)输出右声道音量的右声道数
据,通过电子设备左侧(底部扬声器)输出左声道音量的左声道数据。
141.在另一种可能的实现中,检测到电子设备从竖屏状态切换到第二横屏状态(切换方式例如为逆时针旋转90度或者顺时针旋转270度),会进行声道交换,通过电子设备右侧(底部扬声器)输出左声道音量的右声道数据,通过电子设备左侧(顶部扬声器)输出右声道音量的左声道数据。
142.在一种可能的实施方式下,检测到电子设备处于横屏状态(切换方式例如为顺时针旋转90度或者逆时针旋转90度或者顺时针旋转270度)下,通过电子设备右侧输出由横屏打折系数所确定的右声道音量的右声道数据,通过电子设备左侧输出由横屏打折系数所确定的左声道音量的所述左声道数据。
143.以上模块或单元的一个或多个可以软件、硬件或二者结合来实现。
144.当以上任一模块或单元以软件实现的时候,所述软件以计算机程序指令的方式存在,并被存储在存储器中,处理器可以用于执行所述程序指令以实现以上方法流程。所述处理器可以包括但不限于以下至少一种:中央处理单元(central processing unit,cpu)、微处理器、数字信号处理器(dsp)、微控制器(microcontroller unit,mcu)、或人工智能处理器等各类运行软件的计算设备,每种计算设备可包括一个或多个用于执行软件指令以进行运算或处理的核。该处理器可以是个单独的半导体芯片,也可以跟其他电路一起集成为一个半导体芯片,例如,可以跟其他电路(如编解码电路、硬件加速电路或各种总线和接口电路)构成一个soc(片上系统),或者也可以作为一个asic的内置处理器集成在所述asic当中,该集成了处理器的asic可以单独封装或者也可以跟其他电路封装在一起。该处理器除了包括用于执行软件指令以进行运算或处理的核外,还可进一步包括必要的硬件加速器,如现场可编程门阵列(field programmable gate array,fpga)、pld(可编程逻辑器件)、或者实现专用逻辑运算的逻辑电路。
145.当以上模块或单元以硬件实现的时候,该硬件可以是cpu、微处理器、dsp、mcu、人工智能处理器、asic、soc、fpga、pld、专用数字电路、硬件加速器或非集成的分立器件中的任一个或任一组合,其可以运行必要的软件或不依赖于软件以执行以上方法流程。

技术特征:
1.一种音频数据处理方法,其特征在于,应用于电子设备,所述电子设备配备有第一扬声器和第二扬声器,所述方法包括:获取音频数据,所述音频数据包括左声道数据和右声道数据;对所述电子设备的姿态进行检测,根据所述电子设备的姿态所对应的状态系数对所述音频数据进行降音处理,确定左声道音量和右声道音量;输出所述左声道音量的所述左声道数据和所述右声道音量的所述右声道数据。2.根据权利要求1所述的方法,其特征在于,所述对所述电子设备的姿态进行检测,根据所述电子设备的姿态所对应的状态系数对所述音频数据进行降音处理,确定左声道音量和右声道音量,包括:对所述电子设备的姿态进行检测,确定所述电子设备处于竖屏状态;其中,所述电子设备处于所述竖屏状态下,所述状态系数包括左声道打折系数和右声道打折系数,所述左声道打折系数和所述右声道打折系数不同;根据所述左声道打折系数对所述音频数据进行降音处理,确定所述左声道音量;根据所述右声道打折系数对所述音频数据进行降音处理,确定所述右声道音量。3.根据权利要求1所述的方法,其特征在于,所述对所述电子设备的姿态进行检测,根据所述电子设备的姿态所对应的状态系数对所述音频数据进行降音处理,确定左声道音量和右声道音量,包括:对所述电子设备的姿态进行检测,确定所述电子设备处于第一横屏状态或者第二横屏状态;其中,所述电子设备处于所述第一横屏状态或者第二横屏状态下,所述状态系数包括横屏打折系数;根据所述横屏打折系数对所述音频数据进行降音处理,确定所述左声道音量;根据所述横屏打折系数对所述音频数据进行降音处理,确定所述右声道音量。4.根据权利要求2所述的方法,其特征在于,所述输出所述左声道音量的所述左声道数据和所述右声道音量的所述右声道数据,包括:所述电子设备处于所述竖屏状态下,通过所述电子设备上侧输出所述右声道音量的所述右声道数据;通过所述电子设备下侧输出所述左声道音量的所述左声道数据。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:所述电子设备从所述竖屏状态切换到第一横屏状态时,通过所述电子设备右侧输出所述右声道音量的所述右声道数据;通过所述电子设备左侧输出所述左声道音量的所述左声道数据。6.根据权利要求4所述的方法,其特征在于,所述方法还包括:所述电子设备从所述竖屏状态切换到第二横屏状态时,通过所述电子设备右侧输出所述左声道音量的所述右声道数据;通过位于所述电子设备左侧输出所述右声道音量的所述左声道数据。7.根据权利要求3所述的方法,其特征在于,所述输出所述左声道音量的所述左声道数据和所述右声道音量的所述右声道数,包括:所述电子设备处于所述第一横屏状态或者第二横屏状态下,通过所述电子设备右侧输出所述右声道音量的所述右声道数据;
通过所述电子设备左侧输出所述左声道音量的所述左声道数据。8.根据权利要求1至7任一项所述的方法,其特征在于,所述输出所述左声道音量的所述左声道数据和所述右声道音量的所述右声道数据,包括:通过所述电子设备的扬声器或者与所述电子设备建立连接关系的音频设备输出所述左声道音量的所述左声道数据和所述右声道音量的所述右声道数据。9.一种电子设备,其特征在于,所述电子设备包括:多个扬声器;一个或多个处理器;存储器;其中,所述多个扬声器用于播放所述电子设备的音频文件;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行如权利要求1至8中任一项所述的方法。10.一种芯片系统,其特征在于,所述芯片系统应用于电子设备,所述芯片系统包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述电子设备执行如权利要求1至8中任一项所述的方法。11.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如权利要求1至8中任一项所述的方法。12.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1至8中任一项所述的方法。

技术总结
本申请实施例提供一种音频数据处理方法及相关装置,应用于电子设备,该方法可以包括:获取音频数据,音频数据包括左声道数据和右声道数据;对电子设备的姿态进行检测,根据电子设备的姿态所对应的状态系数对音频数据进行降音处理,确定左声道音量和右声道音量;输出左声道音量的左声道数据和右声道音量的右声道数据。因此,本申请可以通过电子设备的姿态来确定左声道音量和右声道音量,姿态不同时,左声道音量和右声道音量也不同,从而可以在保证音效的前提下降低电子设备的功耗。证音效的前提下降低电子设备的功耗。证音效的前提下降低电子设备的功耗。


技术研发人员:黄旭帆
受保护的技术使用者:荣耀终端有限公司
技术研发日:2023.07.12
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐