技术新讯 > 信息存储应用技术 > 音频处理方法及相关装置与流程  >  正文

音频处理方法及相关装置与流程

  • 国知局
  • 2024-07-31 19:39:35

本技术涉及终端,尤其涉及音频处理方法及相关装置。

背景技术:

1、电子设备中的一些应用可以进行收音,例如用户使用唱歌应用唱歌时,唱歌应用可以进行音频收音,或者用户使用相机应用录制视频时,相机应用可以进行视频收音。

2、然而,一些场景中,需要收音的应用可能收不到声音,降低了用户体验。

技术实现思路

1、本技术实施例提供的音频处理方法及相关装置,电子设备可以对麦克风的开关状态进行判断,当麦克风接收器连接了电子设备,且麦克风开关打开时,录音应用可以使用usb麦克风进行录音;当麦克风接收器连接了电子设备,且麦克风开关关闭时,录音应用可以使用电子设备的板载麦克风进行录音。这样,当用户使用录音应用进行录音时,对于麦克风开关关闭的场景,录音应用仍然可以获取到录音数据,实现录音功能,从而提升用户体验。

2、第一方面,本技术实施例提供的音频处理方法,方法包括:第一时刻,电子设备连接有外设麦克风,外设麦克风包括开关,开关的状态为打开状态,电子设备的第一应用采用外设麦克风收音;第二时刻,电子设备连接有外设麦克风,开关的状态为关闭状态,电子设备退出第一应用,第二时刻晚于第一时刻;第三时刻,电子设备连接有外设麦克风,开关的状态为关闭状态,电子设备启动第二应用,第三时刻晚于第二时刻;第四时刻,电子设备连接有外设麦克风,开关的状态为关闭状态,第二应用采用电子设备中的内置麦克风收音,第四时刻晚于第三时刻。这样,当用户使用应用收音时,对于外设麦克风开关关闭的场景,应用仍然可以获取到音频数据,实现收音功能,从而提升用户体验。

3、一种可能的实现中,第一时刻,电子设备中保存的外设麦克风的开关状态为打开状态,第二时刻至第四时刻,电子设备中保存的外设麦克风的开关状态为关闭状态。这样,电子设备保存外设麦克风的开关状态,可以实时记录外设麦克风的开关状态,便于后续电子设备对外设麦克风的开关状态进行查询。

4、一种可能的实现中,电子设备中安装有管理外设麦克风的第三应用,方法还包括:当外设麦克风的开关打开时,第三应用向电子设备传递外设麦克风的开关状态为打开状态,电子设备保存外设麦克风的开关状态为打开状态;当外设麦克风的开关关闭时,第三应用向电子设备传递外设麦克风的开关状态为关闭状态,电子设备保存外设麦克风的开关状态为关闭状态。这样,当用户打开或关闭外设麦克风的开关时,第三应用可以实时检测到外设麦克风的开关状态,并上报给电子设备,使得电子设备中保存有正确的外设麦克风的开关状态。

5、一种可能的实现中,电子设备中包括音频管理模块audiomanager和音频处理服务audioflinger,第三应用向电子设备传递外设麦克风的开关状态为打开状态,电子设备保存外设麦克风的开关状态为打开状态,包括:第三应用调用音频管理模块audiomanager的setparameters()接口向音频处理服务audioflinger传递外设麦克风的开关状态,其中,setparameters()接口的参数包括用于指示外设麦克风的开关状态为打开状态的参数;音频处理服务audioflinger保存外设麦克风的开关状态为打开状态;第三应用向电子设备传递外设麦克风的开关状态为关闭状态,电子设备保存外设麦克风的开关状态为关闭状态,包括:第三应用调用音频管理模块audiomanager的setparameters()接口向音频处理服务audioflinger传递外设麦克风的开关状态,其中,setparameters()接口的参数包括用于指示外设麦克风的开关状态为关闭状态的参数;音频处理服务audioflinger保存外设麦克风的开关状态为关闭状态。这样,可以使得电子设备能够获取到正确的外设麦克风的开关状态。

6、一种可能的实现中,第二应用采用电子设备中的内置麦克风收音之前,还包括:电子设备判断连接有外设麦克风,电子设备选择外设麦克风为硬件收音设备;电子设备获取外设麦克风的开关状态为关闭状态,电子设备重新选择内置麦克风为硬件收音设备。这样,用户可以不需要频繁插拔麦克风接收器或频繁开关外设麦克风,就可以使得应用能够获取到录音数据,从而实现录音功能,提升用户体验。

7、一种可能的实现中,电子设备中包括音频策略引擎模块audiopolicyengine和音频策略管理模块audiopolicymanager,电子设备判断连接有外设麦克风,电子设备选择外设麦克风为硬件收音设备之前,还包括:第二应用调用音频策略管理模块audiopolicymanager的getinputforattr()接口获取硬件收音设备,其中,getinputforattr()接口的参数包括音频源;音频策略引擎模块audiopolicyengine获取电子设备中可用的硬件收音设备;电子设备判断连接有外设麦克风,电子设备选择外设麦克风为硬件收音设备,包括:音频策略引擎模块audiopolicyengine判断可用的硬件收音设备中包括外设麦克风,音频策略引擎模块audiopolicyengine根据音频源和优先级策略在可用的硬件收音设备中选择外设麦克风为硬件收音设备;电子设备获取外设麦克风的开关状态为关闭状态,电子设备重新选择内置麦克风为硬件收音设备,包括:音频策略引擎模块audiopolicyengine调用音频管理模块audiomanager的getparameters()接口从音频处理服务audioflinger获取外设麦克风的开关状态;音频策略引擎模块audiopolicyengine确定外设麦克风的开关状态为关闭状态,音频策略引擎模块audiopolicyengine重新选择内置麦克风为硬件收音设备。这样,当外设麦克风不可用时,电子设备可以使用内置麦克风拾取录音数据,可以使得应用能够获取到录音数据,从而实现录音功能,提升用户体验。

8、一种可能的实现中,音频源不同,音频策略引擎模块audiopolicyengine选择硬件收音设备的优先级策略不同。这样,应用可以根据使用场景的需要确定选择的音频源,从而电子设备可以为应用提供更为符合使用场景的硬件收音设备。

9、一种可能的实现中,当第二应用用于唱歌场景或录音场景,第二应用的音频源为audio_source_mic时,音频策略引擎模块audiopolicyengine选择硬件收音设备的优先级策略包括:蓝牙耳机设备的优先级高于外设麦克风的优先级,外设麦克风的优先级高于内置麦克风的优先级;或者,当第二应用用于录像场景,第二应用的音频源为audio_source_camcorder时,音频策略引擎模块audiopolicyengine选择硬件收音设备的优先级策略包括:电子设备的内置背部麦克风的优先级高于电子设备的内置底部麦克风的优先级、内置底部麦克风的优先级高于外设麦克风的优先级。这样,应用可以根据使用场景的需要确定选择的音频源,从而电子设备可以为应用提供更为符合使用场景的录音设备。

10、一种可能的实现中,第一时刻之前,还包括:电子设备的内核层的usb驱动判断外设麦克风插入,usb驱动向硬件抽象层的usb驱动模块传递用于指示外设麦克风插入的消息;硬件抽象层的usb驱动模块向应用程序框架层的usb管理器usbmanager传递用于指示外设麦克风插入的消息;usb管理器usbmanager判断该外设麦克风为音频设备,并向usb类型的音频设备模块usbalsamanager传递用于指示外设麦克风为音频设备的消息;usb类型的音频设备模块usbalsamanager初始化usb类型的音频设备对象usbalsadevice,usb类型的音频设备对象usbalsadevice向应用程序框架层的音频管理器audiomanager传递用于指示usb类型的音频设备对象usbalsadevice在位的消息;音频管理器audiomanager基于usb类型的音频设备对象usbalsadevice更新音频设备。这样,在电子设备识别到外设麦克风后,可以更新音频设备,电子设备可以使用该外设麦克风拾取音频数据。

11、第二方面,本技术实施例提供一种音频处理的装置,该装置可以是电子设备,也可以是电子设备内的芯片或者芯片系统。该装置可以包括处理单元。处理单元用于实现第一方面或第一方面的任意一种可能的实现方式中电子设备执行的与处理相关的任意方法。当该装置是电子设备时,该处理单元可以是处理器。该装置还可以包括存储单元,该存储单元可以是存储器。该存储单元用于存储指令,该处理单元执行该存储单元所存储的指令,以使该电子设备实现第一方面或第一方面的任意一种可能的实现方式中描述的方法。当该装置是电子设备内的芯片或者芯片系统时,该处理单元可以是处理器。该处理单元执行存储单元所存储的指令,以使该电子设备实现第一方面或第一方面的任意一种可能的实现方式中描述的方法。该存储单元可以是该芯片内的存储单元(例如,寄存器、缓存等),也可以是该电子设备内的位于该芯片外部的存储单元(例如,只读存储器、随机存取存储器等)。

12、示例性的,处理单元,用于采用外设麦克风收音,还用于退出第一应用,还用于启动第二应用,具体还用于采用电子设备中的内置麦克风收音。

13、一种可能的实现方式中,用于保存的外设麦克风的开关状态为打开状态,还用于保存的外设麦克风的开关状态为关闭状态。

14、一种可能的实现方式中,当外设麦克风的开关打开时,用于保存外设麦克风的开关状态为打开状态;当外设麦克风的开关关闭时,还用于保存的外设麦克风的开关状态为关闭状态。

15、一种可能的实现方式中,用于调用音频管理模块audiomanager的setparameters()接口向音频处理服务audioflinger传递外设麦克风的开关状态,还用于保存外设麦克风的开关状态为打开状态;还用于调用音频管理模块audiomanager的setparameters()接口向音频处理服务audioflinger传递外设麦克风的开关状态,具体还用于保存外设麦克风的开关状态为关闭状态。

16、一种可能的实现方式中,用于判断连接有外设麦克风,还用于选择外设麦克风为硬件收音设备;还用于获取外设麦克风的开关状态为关闭状态,具体还用于重新选择内置麦克风为硬件收音设备。

17、一种可能的实现方式中,用于调用音频策略管理模块audiopolicymanager的getinputforattr()接口获取硬件收音设备,还用于获取电子设备中可用的硬件收音设备;还用于判断可用的硬件收音设备中包括外设麦克风,还用于根据音频源和优先级策略在可用的硬件收音设备中选择外设麦克风为硬件收音设备;具体还用于调用音频管理模块audiomanager的getparameters()接口从音频处理服务audioflinger获取外设麦克风的开关状态;还用于确定外设麦克风的开关状态为关闭状态,还用于重新选择内置麦克风为硬件收音设备。

18、一种可能的实现方式中,音频源不同,音频策略引擎模块audiopolicyengine选择硬件收音设备的优先级策略不同。

19、一种可能的实现方式中,当第二应用用于唱歌场景或录音场景,第二应用的音频源为audio_source_mic时,音频策略引擎模块audiopolicyengine选择硬件收音设备的优先级策略包括:蓝牙耳机设备的优先级高于外设麦克风的优先级,外设麦克风的优先级高于内置麦克风的优先级;或者,当第二应用用于录像场景,第二应用的音频源为audio_source_camcorder时,音频策略引擎模块audiopolicyengine选择硬件收音设备的优先级策略包括:电子设备的内置背部麦克风的优先级高于电子设备的内置底部麦克风的优先级、内置底部麦克风的优先级高于外设麦克风的优先级。

20、一种可能的实现方式中,用于判断外设麦克风插入,还用于向硬件抽象层的usb驱动模块传递用于指示外设麦克风插入的消息;还用于向应用程序框架层的usb管理器usbmanager传递用于指示外设麦克风插入的消息;具体还用于判断该外设麦克风为音频设备,还用于向usb类型的音频设备模块usbalsamanager传递用于指示外设麦克风为音频设备的消息;具体还用于初始化usb类型的音频设备对象usbalsadevice,还用于向应用程序框架层的音频管理器audiomanager传递用于指示usb类型的音频设备对象usbalsadevice在位的消息;还用于基于usb类型的音频设备对象usbalsadevice更新音频设备。

21、第三方面,本技术实施例提供一种终端设备,包括处理器和存储器,存储器用于存储代码指令,处理器用于运行代码指令,以执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。

22、第四方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。

23、第五方面,本技术实施例提供一种包括计算机程序的计算机程序产品,当计算机程序在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。

24、第六方面,本技术提供一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。

25、在一种可能的实现中,本技术中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。

26、应当理解的是,本技术的第二方面至第六方面与本技术的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。

本文地址:https://www.jishuxx.com/zhuanli/20240731/183456.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。