一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

音频播放的方法及电子设备与流程

2023-07-26 12:12:39 来源:中国专利 TAG:


1.本技术涉及终端技术领域,尤其涉及一种音频播放的方法及电子设备。


背景技术:

2.移动终端(如手机、平板等)的音质和音效是用户选择移动终端的一个影响因素,例如,当两款手机的运行性能相同的情况下,用户会选择音质更佳的手机。
3.目前,一些移动终端内没有安装数字处理芯片,如dsp(digital signal processing,数字信号处理)芯片。该类移动终端(即未安装dsp芯片的移动终端)在进行不同业务(如音乐播放业务、闹铃播放业务、来电铃音播放业务等)的切换过程中,移动终端播放的声音会出现卡顿、pop音的问题,pop音是一种不正常破音,通常此类声音表现为“噗噗”声”。同时,移动终端内的功率放大器因音效参数的突然切换,会导致扬声器出现严重的损耗。例如,手机处于播放音乐的场景时,当有来电时,该手机的扬声器播放铃音时会出现声电流声等杂音。


技术实现要素:

4.为了解决上述技术问题,本技术提供一种音频播放的方法及电子设备,使得电子设备在两种音频业务切换时,电子设备中的扬声器不会发出杂音、pop音等问题,也避免扬声器在两种音频业务切换时出现严重损耗的问题。
5.第一方面,本技术提供一种音频播放的方法,包括:硬件抽象层hal接收到框架层发送的第一切换指令,且检测到需要更新电子设备的功率放大器的参数,则关闭与功率放大器对应的播放设备,其中,第一切换指令是电子设备从第二音频业务切换至第一音频业务的情况下,框架层确定电子设备需要切换当前的播放设备时生成;hal获取与第一音频业务匹配的第一音频参数;hal按照第一音频参数设置功率放大器;hal启动与功率放大器对应的播放设备。
6.这样,电子设备(如手机、平板电脑或手环等)在进行音频业务切换时,电子设备的hal接收到切换播放设备的指令且检测到需要更新功率放大器的参数时,关闭播放设备,避免出现音功率放大器瞬时更改参数,导致与功率放大器连接的播放设备播放的声音中带有杂音或播放的声音中出现pop音的问题。同时,hal在播放设备关闭到启动之间的时段内修改功率放大器的参数,避免了与功率放大器对应的播放设备突然输出音效增益骤然改变的音频信号,从而减小了与功率放大器对应的播放设备的损耗。此外,由于电子设备不是每次音频业务切换都触发对播放设备的关闭和开启,而仅在需要切换播放设备且需要更新功率放大器时关闭播放设备,避免对其他音频业务切换场景的音频信号输出造成不必要的影响。
7.根据第一方面,该方法还包括:框架层响应于第一应用发送的业务切换请求,向hal发送第一音频业务的第一业务信息,第一业务信息包括:第一播放模式,第一播放模式为第一音频业务的标识信息,业务切换请求用于指示电子设备从第二音频业务切换至第一
音频业务;hal获取与第一音频业务匹配的第一音频参数,包括:hal根据预存的播放模式与音频参数之间的对应关系以及第一播放模式,确定与第一音频业务匹配的第一音频参数,音频参数包括:功率放大器的工作模式。
8.这样,hal获取框架层发送的第一播放模式,通过存储的音频业务的标识信息与音频参数之间的对应关系,可以快速获取到与第一音频业务匹配的音频参数,提高输出的音频信号的准确性。
9.根据第一方面,第一业务信息还包括:第一播放设备信息;hal检测是否需要更新电子设备的功率放大器的参数,包括:hal根据第一播放设备信息和第二播放设备信息,检测到播放设备需要从第一设备切换为扬声器,第一设备为除扬声器之外用于播放电子设备的音频信号的设备;或者,检测到播放设备需要从扬声器切换为无播放设备或者第一设备,则确定需要更新电子设备的功率放大器的参数。
10.这样,hal检测到从第二音频业务切换为第一音频业务过程中,播放设备需要从第一设备切换为扬声器,或者从扬声器切换为第一设备或无播放设备,则确定需要更新功率放大器的参数,该判断方式可以快速确定出需要更新功率放大器的参数的情形。同时,结合hal接收到第一切换指令,确定关闭与功率放大器对应的播放设备,可以避免对无需更改功率放大器的情况造成干扰的问题。
11.根据第一方面,若第一播放设备信息指示第一音频业务无播放设备;hal按照第一音频参数设置功率放大器,包括:hal将功率放大器调整为待机状态。这样,当播放设备切换为无播放设备,将功率放大器调整为待机状态,避免扬声器出现电流音的情况,同时功率放大器为待机状态,使得后续切换为扬声器时,功率放大器可以快速进入运行状态,减少功率放大器的功耗。
12.根据第一方面,该方法还包括:框架层响应于第一音频应用发送的业务切换请求,获取第一音频业务的第一播放设备信息以及第二音频业务的第二播放设备信息;框架层根据第一播放设备信息以及第二播放设备信息,检测是否需要切换当前的播放设备;若框架层检测到需要切换当前的播放设备,生成第一切换指令。这样,框架层在确定需要切换播放设备时,才向hal发送第一切换指令,避免产生不必要的功耗。
13.根据第一方面,框架层根据第一播放设备信息以及第二播放设备信息,检测是否需要切换当前的播放设备,包括:框架层若检测到第一播放设备信息与第二播放设备信息相同,则确定不需要切换当前的播放设备;框架层若检测到第一播放设备信息与第二播放设备信息不同,则确定需要切换当前的播放设备。这样,框架层根据第一播放信息和第二播放信息,可以快速确定音频业务切换过程中是否需要切换播放设备。
14.根据第一方面,该方法还包括:若框架层检测到不需要切换当前的播放设备,则指示hal控制功率放大器按照当前设置的参数运行。这样,当播放设备不变时,通常功率放大器的参数也不会发生改变,因而,当播放设备不变时,不对功率放大器的参数进行改变,减小了不必要的损耗。
15.根据第一方面,第一业务信息还包括:第一音频业务的第一音频流信息,第一音频流信息包括:第一播放设备信息、第一采样率信息;在硬件抽象层hal关闭电子设备的播放设备之前,该方法还包括:hal将第二音频流信息更新为第一音频流信息,第二音频流信息包括:第二播放设备信息、第二采样率。这样,hal及时将第二音频流信息更新为第一音频流
信息,确保后续对音频信号的准确处理。
16.根据第一方面,第一音频业务包括:用户识别模块sim卡的通话业务、聊天应用的通话业务、音乐播放业务、铃音的播放业务、收音机的播放业务或关闭音频业务。
17.第二方面,本技术提供了一种电子设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中一个或多个计算机程序存储在存储器上,当计算机程序被一个或多个处理器执行时,使得电子设备执行第一方面以及第一方面的任一种实现方式对应的音频播放的方法。
18.第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
19.第三方面,本技术提供了一种计算机可读介质,用于存储计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行上述第一方面以及第一方面的任意一种实现方式所对应的音频播放的方法。
附图说明
20.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
21.图1 是示例性示出的一种音频业务切换的场景的示意图;图2是示例性示出的电子设备的结构示意图;图3是示例性示出的电子设备的软件结构框图;图4是示例性示出的音频播放的方法的流程图;图5 是示例性示出的电子设备进行音频业务切换的流程图;图6是示例性示出的电子设备音频业务切换过程中各内部模块之间的交互图;图7是示例性示出的hal根据第一音频业务的播放模式选择当前对应的音频参数的流程图;图8是示例性示出的本技术的音频播放的方法应用的场景图。
具体实施方式
22.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
23.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
24.本技术实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
25.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
26.在本技术实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
27.在对本技术实施例的技术方案说明之前,首先结合附图1对本技术实施例中音频业务切换的场景进行说明。假设如图1中所示的手机中未安装用于处理音频业务的dsp芯片。如图1中的1a所示,在t1时刻(如图1中的1a所示8点的时刻)手机的界面101为音乐播放界面,图标102指示当前的音频信号由耳机输出。在t2时刻(如图1中的1b所示),手机响应于用户b(即电话号码为1861234xxxx的用户)的来电,通话应用向框架层发送音频切换请求。手机的框架层接收到该音频切换请求,确定音频业务从音乐播放业务切换为铃音播放业务,向hal发送新业务指令,该新业务指令中包括:铃音播放业务的音频流信息,该音频流信息可以包括:铃音业务的播放设备信息、音频数据的采样率、播放声道等信息。扬声器对应的功率放大器在使用耳机播放音乐时处于待机状态(即功率放大器处于低功耗关断模式,音效增益为0db)。hal在接收到新业务指令后,将扬声器对应的功率放大器的音频参数(如功率放大器的工作模式为低功耗关断模式)更改为铃音播放业务对应的音频参数(如功率放大器的工作模式为d类模式,音效增益为128db),扬声器播放经过功率放大器放大的音频信号。由于功率放大器的工作模式瞬时从低功耗关断模式切换为d类模式,以及音效增益瞬时从0db增加到128db,该扬声器骤然播放放大后的音频信号,导致扬声器播放的铃音中带有杂音,如图1中的1b所示,用户a听到的铃音1带有刺耳的杂音,影响用户的使用。可选地,用户a听到的铃音1还可能出现卡顿、pop音等问题。此外,手机a中的扬声器播放的音效增益骤然从0db增加到128db,也会对扬声器造成了损耗。
28.目前手机在不同的音频业务之间切换时,手机中用于放大音频信号的功率放大器的参数也可能需要切换,本技术实施例中提供一种音频播放的方法,适用于不同音频业务的切换,同时也保证优质的音质效果。
29.本技术实施例提供一种音频播放的方法应用于电子设备,如手机、平板电脑、手环等设备。电子设备在检测到音频业务发生切换且检测到需要切换电子设备中的播放设备的情况下,关闭电子设备中的播放设备,获取第一音频业务(即切换后的音频业务)匹配的第一音频参数;电子设备按照该第一音频参数设置功率放大器,并启动该电子设备的播放设备。本示例中,电子设备在关闭电子设备中的播放设备与启动播放设备的时间段内,更新功率放大器的音频参数,使得与功率放大器对应的播放设备不会骤然播放第一音频业务的音频数据,从而可以避免因功率放大器瞬时改变而导致与功率放大器对应的播放设备播放的声音中出现卡顿、pop音等问题,同时,也可以减小对该播放设备的损坏。
30.图2为本技术实施例示出的一种电子设备100的结构示意图。应该理解的是,图2示出的电子设备100仅是电子设备的一个范例,并且电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图2中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
31.电子设备100可以包括:处理器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可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
32.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
33.电子设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
34.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
35.扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170a收听音乐,或收听免提通话。本示例中,扬声器170a与功率放大器连接,功率放大器将放大后的音频信号传输至扬声器170a,由扬声器170a播放该放大后的音频信号。可选地,功率放大器可以位于扬声器170a与音频模块170之间。
36.受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。
37.麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170c发声,将声音信号输入到麦克风170c。电子设备100可以设置至少一个麦克风170c。在另一些实施例中,电子设备100可以设置两个麦克风170c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
38.耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,ctia)标准接口。
39.图3是本技术实施例的电子设备100的软件结构框图。
40.电子设备100的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层
与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,硬件抽象层(hardware abstraction layer,hal)以及内核层。可以理解的是,图3的软件结构中的层以及各层中包含的部件,并不构成对电子设备100的具体限定。在本技术另一些实施例中,电子设备100可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本技术不做限定。
41.如图3所示,应用程序层可以包括一系列应用程序包。应用程序包可以包括音乐,视频,日历,相机,备忘录,音乐,图库,wlan,画图,蓝牙等应用程序。应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
42.如图3所示,应用程序框架层可以包括窗口管理器,资源管理器,内容提供器,视图系统,电话管理器,通知管理器等。
43.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
44.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
45.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
46.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
47.电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
48.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
49.hal为位于操作系统内核与硬件电路之间的接口层。hal包括但不限于:音频硬件抽象层(audio hal)。其中,audio hal用于对音频流进行处理,例如,对音频流进行降噪、定向增强、更改当前音频业务的音频流信息等处理,音频流信息包括:音频业务的播放设备信息、音频数据的采样率、播放声道等信息。
50.内核层是硬件和上述软件层之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。其中,该硬件可以包括摄像头、显示屏,麦克风,处理器,以及存储器等器件。
51.下面将结合附图具体说明电子设备执行音频播放的方法的过程。图4为示例性示出的一种音频播放的方法的流程图。本示例中,电子设备以手机为例进行说明。
52.步骤401:hal接收到框架层发送的第一切换指令,且检测到需要更新电子设备的功率放大器的参数,则关闭与功率放大器对应的播放设备,其中,第一切换指令是电子设备从第二音频业务切换至第一音频业务的情况下,框架层确定电子设备需要切换当前的播放
设备时生成。
53.示例性地,音频业务可以是具有播放音频或关闭音频播放功能的业务,例如,音频业务可以包括:sim卡的通话业务、聊天应用的通话业务、音乐播放业务、铃音的播放业务、收音机的播放业务或关闭音频业务等。本示例中,第二音频业务和第一音频业务可以为不同的音频业务,例如,第二音频业务可以是音乐播放业务,第一业务可以为铃音播放业务。
54.当手机从第二音频业务向第一音频业务切换时,第一音频应用(即支持第一音频业务的应用)可以向手机的框架层(即framework)发送音频切换请求。框架层响应于该音频切换请求,确定执行从第二音频业务切换至第一音频业务的操作;该框架层可以根据第一音频业务的播放设备信息和第二音频业务的播放设备信息,判断从第二音频业务切换为第一音频业务时是否需要切换播放设备。可选地,框架层可以根据第一音频业务的播放设备信息和第二音频业务的播放设备信息,检测第一音频业务的播放设备是否与第二音频业务的播放设备相同,若相同,则确定不需要切换设备;若不相同,则确定需要切换设备。当框架层确定需要切换播放设备,生成第一切换指令,并将该第一切换指令发送至hal,该第一切换指令用于指示hal从第二音频业务切换为第一音频业务时需要切换播放设备。可选地,播放设备包括扬声器、蓝牙耳机、外设音响、听筒等设备。
55.举例来说,框架层可以从音频切换请求中获取第一音频业务的播放设备信息(如扬声器a),该框架层还可以获取第二音频业务的播放设备信息(如蓝牙耳机b)。框架层检测扬声器a与蓝牙耳机b不相同,则确定需要切换播放设备,生成第一切换指令。
56.可选地,若第一音频业务属于无音频业务,则该第一音频业务无对应的播放设备,例如,第二音频业务为音乐播放业务,该音乐播放业务的播放设备为扬声器;第一音频业务为无音频业务。当手机处于音乐播放业务时,音乐播放应用响应于用户的关闭音乐的指令,向框架层请求关闭音乐,该框架层检测到该无音频业务无对应的播放设备,确定从音乐播放业务切换为无音频业务的过程,需要切换播放设备。
57.需要说明的是,若电子设备中包括多个扬声器,如靠近听筒位置的顶部扬声器,以及位于底部的底部扬声器,该多个扬声器默认为相同设备,例如,若第一音频业务的播放设备为顶部扬声器,第二音频业务的播放设备为底部扬声器,该框架层确定该第一音频业务的播放设备与第二音频业务的播放设备相同。
58.该hal接收到第一切换指令,且检测到需要更新电子设备的功率放大器的参数,则关闭与该功率放大器对应的播放设备。
59.示例性地,手机中功率放大器有对应的播放设备,如扬声器。本示例中,手机中的功率放大器为用于处理音频信号的功率放大器,后文中将不再进行赘述。手机中的功率放大器将放大的信号传输至对应的播放设备,由对应的播放设备播放该放大的音频信号。
60.框架层响应于该音频切换请求,确定执行从第二音频业务切换至第一音频业务的操作后,还可以向hal发送第一音频业务的第一业务信息,该第一业务信息可以包括指示hal从第二音频业务切换为第一音频业务的指令,该第一业务信息还可以包括:第一音频流信息,该第一音频流信息中包括:第一播放设备信息,该第一播放设备信息为该第一音频业务的播放设备的标识信息(如播放设备的型号)。
61.hal接收到第一音频流信息后,可以将当前的音频流信息(即第二音频流信息)更新为第一音频流信息。该第二音频流信息包括第二音频业务的播放设备信息。
62.该hal可以根据第一播放设备信息以及第二播放设备信息,确定是否需要更新电子设备的功率放大器的参数。可选地,hal若检测到播放设备需要从第一设备切换为扬声器,第一设备为除扬声器之外用于播放电子设备的音频信号的设备;或者,检测到播放设备需要从扬声器切换为空或者第一设备,则确定需要更新电子设备的功率放大器的参数。
63.例如,第二音频业务的播放设备为耳机,第一音频业务的播放设备扬声器,hal在接收到第一业务信息的情况下,确定从第二音频业务切换为第一音频业务时播放设备需要从耳机切换为扬声器,该hal确定需要更新电子设备的功率放大器的参数。
64.再如:第二音频业务的播放设备为扬声器,第一音频业务的播放设备为耳机;hal在接收到第一业务信息的情况下,确定从第二音频业务切换为第一音频业务时播放设备需要从扬声器切换为耳机,该hal确定需要更新电子设备的功率放大器的参数。
65.再如:第二音频业务的播放设备为扬声器,第一音频业务无对应的播放设备;hal在接收到第一业务信息的情况下,确定从第二音频业务切换为第一音频业务时播放设备需要从扬声器切换为空(即第一音频业务为关闭音频业务),该hal确定需要更新电子设备的功率放大器的参数。
66.再如:第二音频业务的播放设备为蓝牙耳机,第一音频业务无对应的蓝牙音响;hal在接收到第一业务信息的情况下,确定从第二音频业务切换为第一音频业务时播放设备需要从蓝牙耳机切换为蓝牙音响,该hal确定不需要更新电子设备的功率放大器的参数。
67.当hal接收到第一切换指令且确定需要更新电子设备的功率放大器的参数,该hal关闭与功率放大器对应的播放设备。
68.举例来说,假设手机在t1时刻的音频业务为音乐播放业务,该音乐播放业务对应的播放设备为耳机,即耳机不会从手机中的功率放大器处获取音频信号。手机在t2时刻响应于用户b的来电,开始振铃,即在t2时刻,手机的通话应用向框架层发送音频切换请求,框架层接收到该音频切换请求,确定手机执行从音乐播放业务切换至铃音播放业务的步骤,该框架层可以获取音乐播放业务对应的播放设备信息a,以及铃音播放业务对应的播放设备信息b。框架层检测到播放设备信息a指示播放设备为耳机,播放设备信息b指示播放设备为扬声器,该框架层确定本次音频业务切换过程中需要切换播放设备,框架层生成第一切换指令并发送至hal,以指示hal在本次音频业务切换过程中切换播放设备。该框架层在确定执行从音乐播放业务切换至铃音播放业务的步骤时,还向hal发送第一业务信息,该第一业务信息包括播放设备信息b。hal根据播放设备信息b和播放设备信息a,检测到从第二音频业务切换为第一音频业务时播放设备需要从耳机切换为扬声器,hal确定需要更新电子设备的功率放大器的参数。当hal接收到第一切换指令且检测到本次业务切换时需要更新手机中功率放大器的参数,hal关闭扬声器。
69.步骤402:hal获取与第一音频业务匹配的第一音频参数。
70.示例性地,手机可以预先存储不同音频业务对应的音频参数,以使hal可以查找与该音频业务匹配的音频参数。可选地,框架层发送的第一业务信息中可以包含该第一音频业务的标识信息(即第一音频业务的播放模式)。该hal从第一业务信息中获取第一音频业务的标识信息,根据该第一音频业务的标识信息查找对应的音频参数(即第一音频参数)。例如,铃音业务的标识信息记为mode1,hal查找mode1对应的音频参数,该mode1对应的音频参数即为第一音频参数。本示例中,音频参数可以包括功率放大器的工作模式,功率放大器
的工作模式包括:a类模式、ab类模式、d类模式、低功耗关断模式等。该音频参数还可以包括音效增益。
71.步骤403:hal按照第一音频参数设置功率放大器。
72.示例性地,hal将手机中的功率放大器的参数更改为第一音频参数。可选地,若手机中包括多个(如两个)用于音频业务的功率放大器,hal可以将每个功率放大器的参数修改为第一音频参数。
73.步骤404:hal启动与功率放大器对应的播放设备。
74.示例性地,hal可以在修改功率放大器的同时启动与功率放大器对应的播放设备。可选地,hal也可以在关闭播放设备与启动播放设备之间的时段内修改该功率放大器的音频参数。功率放大器可以按照修改后的音频参数运行,使得当播放设备开始运行时,可以接收音频参数更新后的功率放大器输出的音频信号。
75.本示例中,当hal确定需要更新功率放大器的音频参数且确定当前音频业务切换时需要切换播放设备时,关闭与功率放大器对应的播放设备,在设备从关闭到启动时更新功率放大器的音频参数,从而避免当音频业务的音频参数发生巨大变化时,播放设备骤然输出巨大变化的音频信号,导致出现杂音、pop音等问题;同时,由于关闭了播放设备,也避免了播放设备骤然输出变化巨大的音频信号对播放设备的损坏。
76.图5为示例性输出的电子设备切换不同音频业务的流程图。图6为示例性示出的电子设备切换音频业务过程中各内部模块之间的交互图。图7为示例性示出的hal根据第一音频业务的播放模式选择当前对应的音频参数的流程图。
77.下面可以结合图5~图7具体说明电子设备从第二音频业务切换到第一音频业务的过程。本示例中,电子设备以手机为例,该手机切换音频业务的过程如下:步骤501:框架层检测到音频业务场景切换。
78.示例性地,第一音频应用向框架层发送业务切换请求,请求电子设备从第二音频业务切换至第一音频业务,该第一音频业务和第二音频业务为不同的音频业务,该第一音频应用为支持第一音频业务的应用,如通话应用,音乐播放应用、视频播放应用等。框架层接收到该音频切换请求,可以向hal下发第一业务信息,该第一业务信息可以包括:指示hal从第二音频业务切换为第一音频业务的第一指令,用于指示hal更改业务信息的第二指令、第一音频流信息、第一音频业务的播放模式等信息。第一音频流信息可以包括:第一音频业务的播放设备信息、第一音频业务的采样率信息。可选地,该第一音频流信息还可以包括声道信息、音频输出模式信息等。
79.步骤502:框架层向hal下发指令,以使hal更改业务信息。
80.示例性地,hal接收到第二指令,获取第一音频流信息,将当前的音频流信息(即第二音频流信息)更新为第一音频流信息。hal及时更新当前的音频流信息,确保音频信号的准确输出。
81.可选地,若第一音频业务属于无音频业务,第一音频流信息中各项内容的值可以为空,如,声道信息为空(或无),音频输出模式为空等。
82.步骤503:hal检测是否切换当前的播放设备,若是,则执行步骤504;若不是,则执行步骤509。
83.示例性地, 框架层接收到音频切换请求,还可以根据第一音频业务的播放设备信
息,检测从第二音频业务切换为第一音频业务过程中是否需要切换播放设备。可选地,框架层根据第一音频业务的播放设备信息和第二音频业务的播放信息,检测到第一音频业务的播放设备与第二音频业务的播放设备不同,则确定手机从第二音频业务切换为第一音频业务时需要切换播放设备,该框架层生成第一切换指令,并向hal发送第一切换指令,以指示手机从第二音频业务切换为第一音频业务时需要切换播放设备。
84.需要说明的是,框架层在接收到音频切换请求,若生成第一切换指令,该框架层可以向hal同时发送第一切换指令和第一业务信息。框架层将该第一切换指令通过第一通信通道传输至hal,框架层将第一业务信息通过第二通信通道传输至hal。也就是说,hal可以同时接收到第一切换指令和第一业务信息,也可能hal先接收到第一切换指令,或者hal先接收到第一业务信息,本示例中不做具体的限制。
85.步骤504:hal检测是否需要更新功率放大器的参数。若是,则执行步骤505,若不是,则执行步骤509。
86.示例性地,hal从第一音频流信息中获取第一音频业务的播放设备信息,并结合第二音频业务的播放设备信息,检测是否需要更新电子设备的功率放大器的参数,检测的过程可以参照步骤401中的相关描述,此处不再赘述。
87.hal通过第一音频业务的播放设备信息和第二音频业务的播放设备信息,可以检测出电子设备从第二音频业务切换至第一音频业务的过程中,是否有与功率放大器对应的播放设备参与,从而确定出是否需要更新功率放大器的参数。
88.本示例中,hal通过第一音频业务的播放设备信息以及第二音频业务的播放设备信息,可以快速确定电子设备在切换音频业务的过程中是否需要更新功率放大器的参数。
89.步骤505:hal关闭播放设备。
90.示例性地,hal关闭与功率放大器对应的播放设备,如关闭扬声器。
91.步骤506:hal选择合适的音频参数。
92.示例性地,手机中预先存储有不同音频业务对应的音频参数。可选地,手机可以存储音频业务的标识信息与音频参数的对应关系,以及每个音频业务的音频参数。本示例中,第一音频业务的播放模式为该第一音频业务的标识信息。可选地,hal可以通过遍历存储的每个音频业务的标识信息的方式,选择与当前第一音频业务匹配的音频参数。
93.hal选择合适的音频参数的过程可以如图7所示。
94.步骤701:hal获取当前业务的播放模式。
95.示例性地,hal从第一业务信息中获取第一音频业务的播放模式。hal可以遍历每个业务的播放模式,以判断待切换的业务场景(即判断第一音频业务的类型)。
96.步骤702:hal判断是否为音乐场景,若是,则执行步骤703,若不是,则执行步骤704。
97.示例性地,该hal将第一音频业务的播放模式与存储的音乐播放业务的标识信息进行比较,若相同,则确定第一音频业务的业务场景为音乐场景,hal可以执行步骤703,获取音乐场景对应的音频参数,该音频参数包括:功率放大器的工作模式和音效增益。若hal检测到第一音频业务的播放模式与音乐播放业务的标识信息不同,则执行步骤704。
98.步骤703:hal选择音乐场景对应的音频参数。
99.步骤704:hal判断是否为铃音场景,若是,则执行步骤705;若不是,则执行步骤
706。
100.该步骤与步骤702类似,hal将第一音频业务的播放模式与存储的铃音播放业务的标识信息进行比较,若相同,则确定第一音频业务的业务场景为铃音场景,hal可以执行步骤705,获取铃音场景对应的音频参数。若hal检测到第一音频业务的播放模式与铃音播放业务的标识信息不同,则执行步骤706。
101.步骤705:hal选择铃音场景对应的音频参数。
102.步骤706:hal判断是否为sim卡通话场景,若是,则执行步骤707;若不是,则执行步骤708。
103.该步骤与步骤702类似,hal将第一音频业务的播放模式与存储的sim卡通话业务的标识信息进行比较,若相同,则确定第一音频业务的业务场景为sim卡通话场景,hal可以执行步骤707,获取sim卡通话场景对应的音频参数。若hal检测到第一音频业务的播放模式与sim卡通话业务的标识信息不同,则执行步骤708。
104.步骤707:hal选择sim卡通话场景对应的音频参数。
105.步骤708:hal判断是否为流量通话场景,若是,则执行步骤709;若不是,则hal继续判断是否为下一个音频业务的场景。
106.示例性地,流量通话场景可以是聊天应用中的视频通话业务、语音通话业务等。
107.该步骤与步骤702类似,hal将第一音频业务的播放模式与存储的流量卡通话业务的标识信息进行比较,若相同,则确定第一音频业务的业务场景为流量卡通话场景,hal可以执行步骤709,获取流量卡通话场景对应的音频参数。若hal检测到第一音频业务的播放模式与sim卡通话业务的标识信息不同,则继续将第一音频业务的播放模式与存储的其他的业务(如无音频业务)的标识信息进行比较,直至查找与第一音频业务的播放模式相同的的标识信息,并获取该标识信息对应的音频业务的音频参数。
108.需要说明的是,本示例中不对步骤702、步骤704、步骤706以及步骤708之间的执行顺序进行限定。例如,hal的遍历顺序还可以是铃音场景、sim卡通话场景、音乐场景、流量通话场景。
109.当hal选择了合适的音频参数之后,可以执行步骤507。
110.步骤507:hal更改功率放大器的参数。
111.示例性地,hal按照第一音频业务的第一音频参数设置功率放大器的参数。例如,音乐播放场景的音频参数包括:功率放大器的工作模式为d类模式、音效增益a;第一音频业务为无音频业务,该hal获取到无音频业务的音效增益为0(即静音),无音频业务对应的功率放大器的工作模式为低功耗关断模式;该hal将功率放大器的工作模式调整为低功耗关断模式,以及将音效增益a调整为0,该功率放大器从而处于待机状态。
112.步骤508:hal打开播放设备。
113.示例性地,hal可以在更新了功率放大器的音频参数后,打开与该功率放大器对应的播放设备。例如,打开扬声器。
114.hal也可以在更新功率放大器的音频参数的同时打开与该功率放大器对应的播放设备。
115.步骤509:hal保持功率放大器的参数不变。
116.图6为框架层、hal以及与功率放大器对应的播放设备之间的交互图,包括:
s1:框架层检测到音频业务切换。
117.该步骤步骤501大致相同,此处不再进行赘述。
118.s2:框架层向hal下发第一业务信息。
119.该步骤的相关描述可以参照步骤502中的相关描述,此处不再进行赘述。
120.s3:hal更新当前的音频流信息。
121.该步骤的相关描述可以参照步骤502中的相关描述,此处不再进行赘述。
122.s4:框架层向hal下发第一切换指令。
123.该步骤的相关描述可以参照步骤503中的相关描述,此处不再进行赘述。
124.hal接收到第一切换指令且检测到需要更新电子设备的功率放大器的参数,执行s5,其中hal检测是否需要更新电子设备的功率放大器的参数的过程参照步骤504,此处不再进行赘述。若hal接收到第一切换指令且检测到不需要更新电子设备的功率放大器的参数,则保持功率放大器的参数不变。
125.例如,手机从音乐播放业务切换为流量通话业务,音乐播放业务对应的播放设备为外部音响,流量通话业务的播放设备为耳机;框架层确定从音乐播放业务切换为流量通话业务需要切换当前的播放设备,生成第一切换指令。hal检测到流量通话业务的播放设备为耳机,耳机以及外设音响不接收手机中的功率放大器输出的音频信号,该hal确定不需要更新电子设备的功率放大器的参数。该hal接收第一切换指令且检测到不需要更新电子设备的功率放大器的参数,hal保持功率放大器的参数不变,即功率放大器依然处于待机状态。
126.需要说明的是,步骤s2和s4可以同时执行,本示例中,为了便于理解,框架层可以先执行s2,再执行s4的步骤。s5:hal关闭当前的播放设备。
127.该步骤的相关描述可以参照步骤505中的相关描述,此处不再进行赘述。
128.s6:hal选择合适的音频参数。
129.该步骤的相关描述可以参照步骤701~709中的相关描述,此处不再进行赘述。
130.s7:hal更改功率放大器的参数。
131.该步骤的相关描述可以参照步骤507中的相关描述,此处不再进行赘述。
132.s8:hal打开播放设备。
133.该步骤的相关描述可以参照步骤508中的相关描述,此处不再进行赘述。
134.下面结合附图说明本技术中的音频播放的方法的应用场景。假设如图1、图8中所示的手机中未安装用于处理音频业务的dsp芯片。如图1所示,在t1时刻(如图1中的1a所示8点的时刻)手机的界面101为音乐播放界面,图标102指示当前的音频信号由耳机输出。在t2时刻(如图8的801中所示的9:00),手机响应于用户b(即电话号码为1861234xxxx的用户)的来电,通话应用向框架层发送音频切换请求。手机的框架层接收到该音频切换请求,确定音频业务从音乐播放业务切换为铃音播放业务,向hal发送新业务信息(即第一业务信息)。该第一业务信息中包括:铃音播放业务的音频流信息以及新业务的播放模式信息,该音频流信息可以包括:铃音业务的播放设备信息、音频数据的采样率、播放声道等信息。扬声器对应的功率放大器在音乐播放业务时处于待机状态,即该功率放大器的音频参数被置为静音。该hal可以根据铃音播放业务的播放设备信息和音乐播放业务的播放设备信息,确定电
子设备从音乐播放业务切换为铃音播放业务过程中,播放设备需要从耳机切换为扬声器,该hal确定需要在本次业务切换过程中需要更新功率放大器的参数。
135.另一方面,框架层确定音频业务从音乐播放业务切换为铃音播放业务后,可以根据铃音播放业务的播放设备信息以及音乐播放业务的播放设备信息,确定手机从音乐播放业务切换为铃音播放业务的过程中需要切换播放设备,生成第一切换指令,并将该第一切换指令发送至hal。
136.本实例中, hal检测到本次切换业务的过程中确定需要更新功率放大器的参数且该hal接收到第一切换指令,则关闭扬声器。该hal将扬声器对应的功率放大器的音频参数更改为铃音播放业务对应的音效参数(如功率放大器的工作模式为d类模式以及音效增益为128db)。如图8所示,用户a听到的铃音1正常,不带有刺耳的杂音,也未出现卡顿、pop音等问题。同时,扬声器在启动后接收功率放大器输出的音频信号,而不是瞬时输出改变的音频信号,也减小了对扬声器的损耗。
137.可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
138.本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的音频播放的方法。存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
139.本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的音频播放的方法。
140.其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
141.本技术各个实施例的任意内容,以及同一实施例的任意内容,均可以自由组合。对上述内容的任意组合均在本技术的范围之内。
142.上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表