CN111078448B - 一种处理音频异常的方法及电子设备 - Google Patents

一种处理音频异常的方法及电子设备 Download PDF

Info

Publication number
CN111078448B
CN111078448B CN201911191521.9A CN201911191521A CN111078448B CN 111078448 B CN111078448 B CN 111078448B CN 201911191521 A CN201911191521 A CN 201911191521A CN 111078448 B CN111078448 B CN 111078448B
Authority
CN
China
Prior art keywords
audio
interface
state
application
electronic device
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
Application number
CN201911191521.9A
Other languages
English (en)
Other versions
CN111078448A (zh
Inventor
余艳辉
郑鑫
张成新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN111078448A publication Critical patent/CN111078448A/zh
Application granted granted Critical
Publication of CN111078448B publication Critical patent/CN111078448B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)

Abstract

本申请实施例提供一种处理音频异常的方法及电子设备,用以解决电子设备音频功能异常的技术问题。所述方法包括:检测到电子设备中的第一应用需要执行第一音频任务;确定与所述第一音频任务相关的一个或多个第一音频接口;获取与所述第一音频接口相关的至少一个音频状态参数;所述至少一个音频状态参数表征所述第一音频接口的调用状态;根据所述至少一个音频状态参数确定所述第一音频接口的状态异常时,采用预先存储和所述第一音频接口相对应的异常恢复方案对所述第一音频接口执行异常恢复操作;所述第一应用执行所述第一音频任务。

Description

一种处理音频异常的方法及电子设备
本申请要求在2019年08月06日提交中国专利局、申请号为201910722815.3、申请名称为“一种处理音频异常的方法及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及终端技术领域,尤其涉及一种处理音频异常的方法及电子设备。
背景技术
随着终端技术的不断进步,电子设备上的音频功能越来越丰富。以手机为例,刚开始只有语音通话功能,现在不仅有语音通话,还有网络电话、音乐、视频、录音、智能语音(语音输入/语音交互)等功能。为了实现电子设备丰富的音频场景,电子设备的操作系统可以提供多种与音频相关的应用编程接口(application programming interface,API)(可以简称音频接口),以供各类应用(application,APP)(如通话应用、音乐应用、录音应用等)进行调用,使得这些应用可以对电子设备中的音频模块(例如,扬声器、麦克风等)进行控制,提供相应的音频服务(例如语音通话、播放音乐、录制声音等)。
在实际应用时,电子设备中很多应用常常会出现调用音频接口异常的问题,例如某个应用调用音频接口时,会将该音频接口的状态由初始状态切换为使用状态,当该应用调用所述音频接口结束后,未将所述音频接口恢复为初始状态,进而导致电子设备的音频功能异常。由此可见,现有技术中的音频接口调用方案存在缺陷。
发明内容
本申请实施例提供一种处理音频异常的方法及电子设备,用于解决电子设备音频功能异常的技术问题。
第一方面,提供一种处理音频异常的方法,所述方法包括:检测到电子设备中的第一应用需要执行第一音频任务;确定与所述第一音频任务相关的一个或多个第一音频接口;获取与所述第一音频接口相关的至少一个音频状态参数;所述至少一个音频状态参数表征所述第一音频接口的调用状态;根据所述至少一个音频状态参数确定所述第一音频接口的状态异常时,采用预先存储和所述第一音频接口相对应的异常恢复方案对所述第一音频接口执行异常恢复操作;所述第一应用执行所述第一音频任务。
本申请实施例中,在检测到电子设备中的第一应用需要执行第一音频任务时,确定与第一音频任务相关的一个或多个第一音频接口为需要进行异常检测的第一音频接口;然后获取表征第一音频接口的调用状态的至少一个音频状态参数,根据至少一个音频状态参数确定第一音频接口是否状态异常,进而实现第一音频接口异常检测。进一步的,如果确定第一音频接口状态异常,则采用预先存储和第一音频接口相对应的异常恢复方案对所述第一音频接口执行异常恢复操作,实现电子设备自动从音频异常状态中恢复,可以提升用户体验。不仅如此,第一应用执行第一音频任务时,如果与第一音频任务相关的一个或多个第一音频接口异常,则还可识别出违规调用音频接口的应用(即第一应用),因此还有利于推动三方应用改进,规范三方应用调用音频接口的流程,进一步提升用户体验。
在一种可能的设计中,在获取与所述第一音频接口相关的至少一个音频状态参数之前,还可以监测至少一个应用对所述电子设备中的一个或多个音频接口的调用行为;根据所述调用行为,触发对所述第一音频接口进行异常检测。
本实施方式,通过监测至少一个应用对所述电子设备中的一个或多个音频接口的调用行为来触发对所述第一音频接口进行异常检测,可以实现电子设备自动对第一音频接口进行异常检测,提高发现第一音频接口异常的及时性,进而帮助电子设备更加及时地从音频异常状态中恢复,可以进一步提高用户体验。
在一种可能的设计中,所述电子设备包括多种所述第一音频接口,不同的所述第一音频接口对应需要检测的所述一个或多个音频接口可以不同。例如,所述第一音频接口可以为模式设置setmode接口,则可以在监测到至少一个应用对所述电子设备中的声音轨道AudioTrack接口和扬声器设置setSpeakerphoneOn接口的调用行为时,触发对所述setmode接口进行异常检测。例如,所述第一音频接口可以为setBluetoothScoOn接口,则可以在监测至少一个应用对所述电子设备中的setBluetoothScoOn接口的调用行为时,触发对所述setBluetoothScoOn接口进行异常检测。例如,所述第一音频接口可以为setMicrophoneMute接口,则可以在监测到至少一个应用对所述电子设备中的声音录制AudioRecord接口、AudioTrack接口的调用行为时,触发对所述setMicrophoneMute接口进行异常检测。
本实施方式,对应不同的第一音频接口,需要监测不同的一个或多个音频接口来触发异常检测流程,保证各种第一音频接口异常检测的及时性和准确性。
在一种可能的设计中,所述电子设备存储有至少一个音频异常模型;其中,一个音频异常模型对应一个音频接口;每个音频异常模型包括与该音频异常模型对应的音频接口的标识,与该音频异常模型对应的音频接口相关的至少一个音频状态参数,以及当该音频异常模型对应的音频接口异常时与该音频异常模型对应的音频接口相关的至少一个音频状态参数应当满足的预设条件。在获取与所述第一音频接口相关的至少一个音频状态参数之前,还可以确定所述第一音频接口的标识,从所述至少一个音频异常模型中确定出和所述第一音频接口的标识相匹配的第一音频异常模型;然后,根据所述第一音频异常模型确定需要获取的与所述第一音频接口相关的至少一个音频状态参数;如果确定所述至少一个音频状态参数满足所述第一音频异常模型中的预设条件,则确定所述第一音频接口的状态异常。
本实施方式,根据预先存储的音频异常模型对第一音频接口的异常检测,可以进一步提高音频异常检测的准确性和及时性。
在一种可能的设计中,每个音频异常模型还包括与该音频异常模型对应的第一音频接口相对应的异常恢复方案。
通过本实施方式,电子设备在确定第一音频接口异常时,就可以从第一音频接口对应的音频异常模型中快速获得异常恢复方案进而解决第一音频接口异常,使得电子设备更加迅速地从异常中恢复,可以进一步提高用户体验。
在一种可能的设计中,所述第一音频任务可以为音频播放任务,所述第一音频接口可以为模式设置setmode接口。相应的,可以获取setmode接口中mode的状态、音频的录制状态;确定所述mode=3且调用setmode的应用中不存在录音音轨和播放音轨时,确定所述setmode接口的状态异常;其中,所述mode=3表征所述电子设备的声音模式为通话模式。
另一种可能的设计中,所述第一音频任务可以为蓝牙通话任务,所述第一音频接口可以为蓝牙同步定向连接设置setBluetoothScoOn接口。相应的,可以获取蓝牙同步定向连接SCO和蓝牙音频传输模型协定A2DP的选择状态、同一个应用开启蓝牙SCO的次数、音频播放和录制状态、声音输出设备的选择状态;在确定蓝牙SCO被选择、同一个APP开启SCO超过1次、开启SCO的APP当前有音频播放和音频录制进程以及声音输出设备为蓝牙设备时,确定所述setBluetoothScoOn接口的状态异常。
又一种可能的设计中,所述第一音频任务可以为音频录制任务,所述第一音频接口可以为麦克风静音设置setMicrophoneMute接口。相应的,可以获取音频录制麦克mic状态、设置mic为静音mute状态的应用的属性、音频播放和录制状态中录音的音轨数量;在确定音频录制mic状态为mute状态、设置mic为mute状态的APP的属性为非系统应用以及音频播放和录制状态中录音的音轨数量为0时,确定所述setMicrophoneMute接口的状态异常。
上述三种实施方式,分别给出了对setmode接口、setBluetoothScoOn接口和setMicrophoneMute接口进行异常检测的具体实现过程,可以保证setmode接口、setBluetoothScoOn接口和setMicrophoneMute接口中任意接口异常时及时准确地被检测到,进而推进该接口的异常尽快被解决,提高用户体验。
在一种可能的设计中,所述异常恢复方案可以包括以下几种方案中的至少一种:系统将所述第一音频接口从当前状态复原到被调用前的状态;重启调用所述第一音频接口的进程;重启所述电子设备;推动调用所述第一音频接口的应用对所述第一音频接口进行恢复。
本实施方式给出了对第一音频接口进行异常恢复的多种方案,在实现电子设备自动从音频异常状态中恢复、提升用户体验的同时,还提高了方案的灵活性。
在一种可能的设计中,在采用预先存储和所述第一音频接口相对应的异常恢复方案对所述第一音频接口执行异常恢复操作之前,还可以输出提示信息,所述提示信息用于提示用户是否对所述第一音频接口执行异常恢复操作;当接收到确认指令后,采用预先存储和所述第一音频接口相对应的异常恢复方案对所述第一音频接口执行异常恢复操作。
本实施方式,只有用户确定对第一音频接口执行异常恢复操作后,电子设备才采用预先存储和第一音频接口相对应的异常恢复方案对第一音频接口执行异常恢复操作,可以进一步提高用户体验。
第二方面,提供一种电子设备,包括处理器和存储器,所述存储器用于存储一个或多个计算机程序,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备执行:检测到所述电子设备中的第一应用需要执行第一音频任务;确定与所述第一音频任务相关的一个或多个第一音频接口;获取与所述第一音频接口相关的至少一个音频状态参数;所述至少一个音频状态参数表征所述第一音频接口的调用状态;根据所述至少一个音频状态参数确定所述第一音频接口的状态异常时,采用预先存储和所述第一音频接口相对应的异常恢复方案对所述第一音频接口执行异常恢复操作;所述第一应用执行所述第一音频任务。
在一种可能的设计中,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行:在获取与所述第一音频接口相关的至少一个音频状态参数之前,监测至少一个应用对所述电子设备中的一个或多个音频接口的调用行为;根据所述调用行为,触发对所述第一音频接口进行异常检测。
在一种可能的设计中,所述电子设备包括多种所述第一音频接口,不同的所述第一音频接口对应的所述一个或多个音频接口不同。
在一种可能的设计中,所述第一音频接口为模式设置setmode接口;当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备具体执行:监测至少一个应用对所述电子设备中的声音轨道AudioTrack接口和扬声器设置setSpeakerphoneOn接口的调用行为。
在一种可能的设计中,所述第一音频接口为setBluetoothScoOn接口;当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备具体执行:监测至少一个应用对所述电子设备中的setBluetoothScoOn接口的调用行为。
在一种可能的设计中,所述第一音频接口为setMicrophoneMute接口;当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备具体执行:监测至少一个应用对所述电子设备中的声音录制AudioRecord接口、AudioTrack接口的调用行为。
在一种可能的设计中,所述电子设备存储有至少一个音频异常模型;其中,一个音频异常模型对应一个音频接口;每个音频异常模型包括与该音频异常模型对应的音频接口的标识,与该音频异常模型对应的音频接口相关的至少一个音频状态参数,以及当该音频异常模型对应的音频接口异常时与该音频异常模型对应的音频接口相关的至少一个音频状态参数应当满足的预设条件;当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行:在获取与所述第一音频接口相关的至少一个音频状态参数之前,确定所述第一音频接口的标识,从所述至少一个音频异常模型中确定出和所述第一音频接口的标识相匹配的第一音频异常模型;根据所述第一音频异常模型确定需要获取的与所述第一音频接口相关的至少一个音频状态参数;确定所述至少一个音频状态参数满足所述第一音频异常模型中的预设条件,则确定所述第一音频接口的状态异常。
在一种可能的设计中,每个音频异常模型还包括与该音频异常模型对应的第一音频接口相对应的异常恢复方案。
在一种可能的设计中,所述第一音频任务包括音频播放任务,所述第一音频接口包括模式设置setmode接口;当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备具体执行:获取setmode接口中mode的状态、音频的录制状态;确定所述mode=3且调用setmode的应用中不存在录音音轨和播放音轨时,确定所述setmode接口的状态异常;其中,所述mode=3表征所述电子设备的声音模式为通话模式。
在一种可能的设计中,所述第一音频任务包括蓝牙通话任务,所述第一音频接口包括蓝牙同步定向连接设置setBluetoothScoOn接口;当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备具体执行:获取蓝牙同步定向连接SCO和蓝牙音频传输模型协定A2DP的选择状态、同一个应用开启蓝牙SCO的次数、音频播放和录制状态、声音输出设备的选择状态;在确定蓝牙SCO被选择、同一个APP开启SCO超过1次、开启SCO的APP当前有音频播放和音频录制进程以及声音输出设备为蓝牙设备时,确定所述setBluetoothScoOn接口的状态异常。
在一种可能的设计中,所述第一音频任务包括音频录制任务,所述第一音频接口包括麦克风静音设置setMicrophoneMute接口;当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备具体执行:获取音频录制麦克mic状态、设置mic为静音mute状态的应用的属性、音频播放和录制状态中录音的音轨数量;在确定音频录制mic状态为mute状态、设置mic为mute状态的APP的属性为非系统应用以及音频播放和录制状态中录音的音轨数量为0时,确定所述setMicrophoneMute接口的状态异常。
在一种可能的设计中,所述异常恢复方案包括以下几种方案中的至少一种:系统将所述第一音频接口从当前状态复原到被调用前的状态;重启调用所述第一音频接口的进程;重启所述电子设备;推动调用所述第一音频接口的应用对所述第一音频接口进行恢复。
在一种可能的设计中,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行:在采用预先存储和所述第一音频接口相对应的异常恢复方案对所述第一音频接口执行异常恢复操作之前,输出提示信息,所述提示信息用于提示用户是否对所述第一音频接口执行异常恢复操作;当接收到确认指令后,采用预先存储和所述第一音频接口相对应的异常恢复方案对所述第一音频接口执行异常恢复操作。
第三方面,提供一种电子设备,该电子设备包括执行上述第一方面或第一方面任意一种可能的设计中所述的方法的模块/单元。这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
第四方面,提供一种芯片,所述芯片与存储器耦合,用于执行所述存储器中存储的计算机程序,以执行上述第一方面或第一方面任意一种可能的设计中所述的方法。
第五方面,提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行上述第一方面或第一方面任意一种可能的设计中所述的方法。
第六方面,提供一种包含计算机程序产品,当所述计算机程序产品在终端上运行时,使得所述设备执行上述第一方面或第一方面任意一种可能的设计中所述的方法。
第七方面,提供一种电子设备,包括:音频播放单元,用于播放音频;处理单元,用于执行上述第一方面或第一方面任意一种可能的设计中所述的方法。
上述第二方面至第七方面中任一种可能的设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为setmode接口的一种调用场景的示意图;
图2为本申请实施例中一种电子设备的硬件结构示意图;
图3为本申请实施例中电子设备的一种软件结构示意图;
图4为本申请实施例中电子设备的另一种软件结构示意图;
图5为本申请实施例提供的一种处理音频异常的方法的流程图;
图6为本申请实施例中触发电子设备执行setmode的异常检测流程的场景的示意图;
图7为本申请实施例中setmode音频异常恢复后的场景的示意图;
图8为本申请实施例提供的另一种处理音频异常的方法的流程图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。
需要理解的是,本申请实施例涉及的至少一个,包括一个或者多个;其中,多个是指大于或者等于两个。另外,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
为了更好地理解本申请实施例提供的技术方案,下面首先介绍本申请实施例的背景技术。
如前文所述,为了实现电子设备丰富的音频场景,电子设备的操作系统可以提供多种与音频相关的API(以下实施例简称音频接口),以供各类应用进行调用,使得这些应用可以对电子设备中的音频模块(例如扬声器、麦克风等)进行控制,提供相应的音频服务(例如语音通话、播放音乐、录制声音等)。
例如,以安卓(android)系统为例,android系统可以提供多种API,例如,模式设置(setmode)、麦克风静音设置(setMicrophoneMute)、蓝牙同步定向连接设置setBluetoothScoOn)等。不同的API可以实现不同的功能。例如,setmode可以用于设置声音模式;再例如,setMicrophoneMute可以用于设置是否让麦克风静音;再例如,setBluetoothScoOn可以用于要求使用蓝牙同步定向连接(synchronous connectionoritened,SCO)耳机进行通讯。
在实际应用中发现,很多应用常出现调用音频接口异常的问题,例如某个应用调用音频接口结束后,未将调用的音频接口恢复,或者同一应用多次重复调用同一音频接口等,导致电子设备的音频功能异常。以下实施例将举例说明。
示例1、以setmode为例。
android系统可以提供四种声音模式,包括正常模式(MODE_NORMAL)即没有铃音与电话的情况、铃响模式(MODE_RINGTONE)、接通电话模式(MODE_IN_CALL)以及通话模式(MODE_IN_COMMUNICATION)。应用层的应用可以通过调用setmode接口,将mode设置为不同的值,实现不同声音模式的设置。例如,mode=0为NORMAL模式、mode=1为RINGTONE模式、mode=2为CALL模式、mode=3为COMMUNICATION模式。
示例性的,请参见图1(a),微信应用在执行语音通话进程时,会调用setmode接口,设置mode=3,即将声音模式设置为COMMUNICATION,为用户提供语音通话服务,该模式下,声音的播放通道为听筒,即声音从听筒输出。请参见图1(b),微信应用结束语音通话后,未将setmode中的mode恢复到NORMAL状态,即mode仍为3。这种情况下,若另一个应用例如音乐应用(例如,酷狗音乐)开始执行播放音乐进程,系统会认为电子设备仍处于通话模式,那么声音的播放通道仍然为听筒(正常情况下音乐的声音播放通道为扬声器),进而导致音乐应用的声音也是从听筒输出,出现音乐播放声音过小的问题,参见图1(c)所示。
示例2、以setMicrophoneMute为例。
setMicrophoneMute的功能可以是设置是否让麦克风静音。例如,当setMicrophoneMute的值设置为true时,电子设备将麦克风静音;当setMicrophoneMute的值设置为false时,电子设备将麦克风关闭静音。示例性的,用户在使用视频聊天软件进行视频聊天时,输入麦克风静音操作,电子设备响应用户输入的麦克风静音操作,调用setMicrophoneMute接口,将setMicrophoneMute的值设置为true,使得电子设备麦克风静音;之后,用户使用另一个录音应用进行录音,例如录音机,但是电子设备在结束视频聊天软件的视频聊天进程后,未将setMicrophoneMute的值恢复为false,即没有关闭静音,因而导致录音应用无法正常录音,进而导致录音失败。
示例3、以setBluetoothScoOn为例。
示例性的,setBluetoothScoOn的功能可以是要求使用蓝牙SCO耳机进行通讯。例如,当setBluetoothScoO的值设置为true时,电子设备使用蓝牙SCO耳机进行通讯;当setBluetoothScoO的值设置为false时,电子设备停止使用蓝牙SCO耳机进行通讯。示例性的,用户佩戴了蓝牙耳机,该蓝牙耳机和电子设备通信连接。用户在使用电子设备打游戏时,使用游戏应用中的语音通话功能和游戏好友进行语音通话,则游戏应用会调用setbluetoothScoON,例如将setBluetoothScoO的值设置为true,使得电子设备使用蓝牙SCO耳机进行通讯,电子设备的声音输出通道为蓝牙耳机;之后,聊天突然中断,用户和好友再次发起语音聊天,游戏应用再次调用setbluetoothScoON,但是系统前一次调用的setbluetoothScoON并未被释放,因而出现了同一个应用(即游戏应用)重复调用多次同一个音频接口的异常,此时系统中出现两个setbluetoothScoON同时处于调用状态。之后游戏应用结束,系统可能只正常释放其中一个setBluetoothScoON,而另一个setBluetoothScoON仍然为true的状态,无法恢复到false。
以上举例了三种音频接口被异常调用的场景,在实际应用中还有其他类型的音频接口异常调用场景,本申请实施不再一一举例说明。
为了解决电子设备音频功能异常的技术问题,本申请实施例提供一种处理音频异常的方法及电子设备。电子设备可以根据各类音频异常场景(例如上述的示例1至示例3所示各种音频异常场景),确定音频异常模型。其中,不同的音频异常场景可以对应不同的音频异常模型。以上述中三种音频接口被异常调用的场景为例,每种场景可以对应一个音频异常模型。在一些实施例中,每个音频异常模型可以至少包括用于判断音频接口是否异常的判断条件。也就是说,该音频异常模型可以用于识别音频接口是否异常。例如,以上述示例1为例,音频异常模型可以用于识别setmode是否异常。以上述示例2为例,音频异常模块可以用于识别setBluetoothScoOn是否异常。在另一些实施例中,每个音频异常模型还可以配备有至少一个异常恢复方案。也就是说,该音频异常模型不仅可以识别音频接口是否异常,还可以进行提供异常恢复方案。例如,以示例1为例,音频异常模型可以用于提供setmode的异常恢复方案。以示例2为例,音频异常模型可以用于提供setBluetoothScoOn的异常恢复方案。
电子设备通过监测应用对音频接口的调用行为,在确定第一音频接口满足异常检测条件时,根据第一音频接口对应的第一音频异常模型识别第一音频接口是否异常,在确定第一音频接口异常时,还可以使用第一音频异常模型匹配的异常恢复方案对第一音频接口的异常进行恢复,进而使得电子设备自动从音频异常状态中恢复,提升用户体验。并且,本申请实施例可以识别出违规调用音频接口的应用,进而可以推动该应用改进,规范音频调用的流程,减少用户舆情。
本申请实施例中的技术方案可以应用于任何具有音频功能的电子设备。该电子设备可以是包含诸如个人数字助理和/或音乐播放器等功能的便携式电子设备,诸如手机、平板电脑、具备无线通讯功能的可穿戴设备(如智能手表)等。便携式电子设备的示例性实施例包括但不限于搭载
Figure BDA0002293697580000081
或者其它操作系统的便携式电子设备,在本申请实施例后文中,主要以搭载
Figure BDA0002293697580000082
操作系统的便携式电子设备为例对本申请实施例提供的处理音频异常的方案进行详细说明,本领域技术人员可以理解,其它操作系统中,也可以采用类似的算法实现本申请实施例提供的处理音频异常的方案。
通常情况下,电子设备支持多种应用。例如以下应用中的一个或多个:电话应用、视频播放器应用、音乐播放器应用、即时消息收发应用、录音应用、游戏应用、相机应用、浏览器应用、绘图应用、演示应用、字处理应用、电子邮件应用、照片管理应用、日历应用、时钟应用、支付应用和健康管理应用等。其中,即时消息收发应用可以有多种。例如短信应用、彩信应用、各种邮箱应用、微信、腾讯聊天软件(QQ)、WhatsAPP Messenger、连我(Line)、照片分享(instagram)、Kakao Talk、钉钉等。用户通过即时消息收发应用,可以将文字、语音、图片、视频文件以及其他各种文件等信息发送给其他联系人。本申请实施例提出的处理音频异常的技术方案可以应用于任何应用异常调用音频接口的场景,例如微信应用调用setmode设置mode=3进行语音通话,在语音通话结束后未将setmode恢复到NORMAL状态。再例如,腾讯聊天软件(例如,QQ)在调用setMicrophoneMute接口将电子设备麦克风静音后,未恢复麦克风的状态,导致录音应用无法正常录音。再例如,游戏应用多次重复调用同一个音频接口setBluetoothScoOn等,将导致系统逻辑出错。本申请实施例不做限制。
下面以电子设备是手机为例,图2示出了手机100的结构示意图。
手机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可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对手机100的具体限定。在本申请另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(APPlication processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。本申请实施例提供的处理音频异常的方法的执行可以由处理器110来控制或调用其它部件来完成。例如,处理器110可以调用内部存储器121中存储的处理音频异常的方法所对应的处理程序,或者通过外部存储器接口120调用第三方设备中存储的处理音频异常的方法所对应的处理程序,以识别应用异常调用音频接口的行为,并对发生的音频异常进行恢复。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用(例如声音播放功能,图像播放功能等)等。存储数据区可存储手机100使用过程中所创建的数据(例如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。内部存储器121可以用于存储本申请实施例所提出的处理音频异常的方法的计算机可执行程序代码,所述可执行程序代码包括指令。处理器110可以通过运行存储在内部存储器121的该处理音频异常的方法的计算机可执行程序代码,从而使得手机100可以完成本申请实施例提出的处理音频异常的方法。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为手机100充电,也可以用于手机100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过手机100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。无线通信模块160可以提供应用在手机100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field COMMUNICATION,NFC),红外技术(infrared,IR)等无线通信的解决方案。在一些实施例中,手机100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机100可以通过无线通信技术与网络以及其他设备通信。
手机100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。显示屏194还可以包括触控面板,触控面板也称为触摸屏、触敏屏等,可收集用户在其上或附近的接触或者非接触操作(例如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作,也可以包括体感操作;该操作包括单点控制操作、多点控制操作等操作类型),并根据预先设定的程式驱动相应的连接装置。
在一些实施例中,手机100可以包括1个或N个显示屏194,N为大于1的正整数。
手机100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。摄像头193用于捕获静态图像或视频。ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
手机100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如打电话、播放音乐,录音,输入语音控制指令、语音聊天、视频通话等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。例如手机100可以通过扬声器170A收听音乐,或收听免提通话,或收听语音信息等。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。例如,当手机100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。手机100可以设置至少一个麦克风170C。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular teleCOMMUNICATIONs industry association of the USA,CTIA)标准接口。当手机100的耳机接口170D连接到有线耳机时,手机100可以通过耳机播放音频。如果耳机上还集成有话筒模块,则手机100还可以通过耳机进行录音、拨打电话等。
音频模块170还可以通过与无线通信模块160连接,实现通过与手机100无线连接的三方设备进行音频的播放或者录制。例如通过与手机100蓝牙连接的蓝牙耳机播放音乐或者拨打电话等。
以下实施例介绍电子设备的软件架构,该软件架构可以适用于图2所示的手机100,或者类似的电子设备,例如平板电脑等。
电子设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的android系统为例,示例性说明手机100的软件结构。
图3示出了本发明实施例的一种可能的软件结构的示意图。如图3所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用层(application),应用框架层(application framework,本文中简称为框架层),安卓运行时(android runtime)和系统库(libraries)层,以及内核层(kernel)。
应用层可以包括一系列应用程序包。如图3所示,应用包可以包括系统自带的应用,如媒体播放应用(media player),录音应用(audio record),蓝牙应用,通话应用等,还可以包括三方应用,如QQ音乐、微信、视频等。
框架层为应用层的应用提供API和编程框架。框架层包括一些预先定义的函数。如图3所示,框架层可以包括音频管理器(audio manager)、音频服务器(audio service)、音频异常处理器(audio exception handler)等。
audio manager可以提供丰富的音频API让开发者对应用的音量和铃声模式进行控制以及访问。例如,主要内容涉及到音频流、声音、蓝牙、扩音器、耳机等等。例如图3中示出的setmode、setBluetoothScoOn、setMicrophoneMute,其中setmode的作用是设置声音模式,setBluetoothScoOn的作用是要求使用蓝牙SCO耳机进行通讯(在蓝牙通话时调用)、setMicrophoneMute的作用是设置是否让麦克风静音。当然,在实际应用中,audio manager提供的音频接口可以不止以上3种,还可以有其它类型的音频接口,此处不一一举例。
audio service可以用于为上层例如应用层的应用提供音频相关的基本服务(包括应用权限判断、音频状态采集、数据下发、流控制、音量控制、声音输出设备的选择、语音触发等)。本申请实施例中,audio service还可以用于监测应用层中的应用调用音频接口的调用行为。当audio service确定某应用的调用行为满足某个音频接口的异常检测的触发条件时,触发audio exception handler开始执行对该音频接口的异常检测。
audio exception handler可以用于基于audio service的触发,执行音频接口的异常检测流程,异常检测流程的可以通过音频异常模型实现,异常检测流程的具体实现将在后文介绍。如果audio exception handler检测到有音频接口存在异常,则还可以输出相应的异常恢复方案给audio service执行,使得电子设备自动恢复音频异常,异常恢复方案的具体实现将在后文介绍。
在具体实施时,框架层除了图3上述功能模块外,还可以包括其它功能服务,例如活动管理(activity manager service)和窗口管理(window manager service),内容提供,电话管理,资源管理,通知管理等(图3未示出),本申请实施例对此不做限制。
系统层可以为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统库层中包含的C/C++库以实现框架层要实现的功能。图3中示出了系统层的一个功能模块即媒体框架模块(media framework),在实际应用中还可以有更多,本申请实施例不做限制。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动(audio Driver),传感器驱动等。
图4示出了本发明实施例提供的另一种可能的软件结构的示意图。与图3不同的是,图4所示的软件结构将图3中的audio exception handler的功能集成在audio service中,也就是说,audio service可以执行音频异常的识别、异常恢复方案的决策以及执行对应的异常恢复的操作。对于图4所示的软件结构的其它各个模块的功能及具体实现方式,可以参照图3所示软件结构的具体说明,本申请实施例不再赘述。
可以理解的是,图3和图4示意的软件结构仅是以android系统为例的软件架构,并不构成对手机100的具体限定。在另一些实施例中,手机100也可以是IOS系统,windows系统等。并且,手机100软件架构的布局可以与图3或图4示意的不同,软件架构执行各项功能的模块比图3或图4所示更多或更少,以及执行不同功能的模块的布置不同等。
以下实施例将以上述手机为例,对本申请提供的处理音频异常的方法进行具体说明。应理解,在下文中,手机的硬件架构以图2为例,软件架构以图3为例。其中,手机中的软件架构对应的软件程序和/或模块存储在存储器121中,处理器110运行存储器121中存储的软件程序和应用以执行本申请实施例提供的处理音频异常的方法的流程。
参见图5,本申请实施例提供的处理音频异常的处理流程可以包括:
S501:手机监测应用对音频接口的调用行为。
在一些实施例中,手机中的处理器110在运行框架层中的软件程序和/或模块时,audio service可以监测应用层的应用对音频接口的调用行为。
需要说明的是,手机实现丰富的音频服务,通常会使用多种音频接口。手机在执行不同的音频任务时,调用的音频接口可以不同。在一些实施例中,音频任务可以包括音频播放任务、音频录制任务、蓝牙通话任务等。
例如,手机中的第一应用要实现音频播放任务时,该第一应用会调用框架层中与音频播放任务相关的音频接口,例如,框架层中的声音轨道(AudioTrack)、扬声器设置(setSpeakerphoneOn)等。手机可以监听AudioTrack、setSpeakerphoneOn等是否被调用。当手机监听到AudioTrack、setSpeakerphoneOn等被第一应用调用时,确定第一应用进行音频播放任务。在本申请实施例中,第一应用的类型可以有多种。第一应用可以是音乐类应用(如QQ音乐、网易云音乐等)、网络电台类应用(如喜马拉雅FM、荔枝FM、豆瓣FM等)、短视频类应用(如抖音、快手等)、即时通讯应用(如微博、脸书(facebook)、推特(twitter)等)等,只要是具有音频播放功能的应用即可。
例如,手机中的第二应用要实现蓝牙通话任务时,该第二应用会调用框架层中与蓝牙通话相关的音频接口,例如setBluetoothScoOn。手机可以监听setBluetoothScoOn是否被调用。当手机监听到setBluetoothScoOn被第二应用调用时,确定第二应用要求使用蓝牙SCO耳机进行通话。在本申请实施例中,第二应用的类型可以有多种。例如,第二应用可以是即时聊天类应用(如微信、手机QQ等),游戏应用(如王者荣耀、绝地求生等),只要是支持蓝牙SCO通话功能的应用即可。
例如,手机中的第三应用要实现音频录制任务时,该第三应用会调用框架层中与音频录制任务相关的音频接口,例如,声音录制(AudioRecord)、AudioTrack等。手机可以监听AudioRecord、AudioTrack等是否被调用。当手机监听到AudioRecord、AudioTrack等被第三应用调用时,确定第三应用进行音频录制任务。在本申请实施例中,第三应用的类型可以有多种。第三应用可以是录音机、语音助手、即时聊天类应用(如微信、手机QQ等)、游戏应用(如会说话的汤姆猫)等,只要是具有音频录制功能的应用即可。
在本申请实施例中,手机监测各类应用对音频接口的调用行为也可以是在开机后一直执行,也可以是周期性地执行,还可以是在满足预设条件后开始执行(比如在第一应用运行后,开始检测第一应用对音频接口的调用行为),本申请实施例不做限制。
S502:手机根据所述调用行为,触发对第一音频接口的异常检测,执行步骤S503。
如前文所述,手机中的处理器110在运行框架层中的软件程序和/或模块时,audioservice可以监测应用层的应用对音频接口的调用行为。audio service还可以根据调用行为,确定第一音频接口满足异常检测条件。当audio service确定第一音频接口满足异常检测条件时,audio service可以发送通知给audio exception handler,以触发audioexception handler开始执行对第一音频接口的异常检测,即执行后续过程。其中,所述异常检测条件可以是应用执行音频任务;所述通知可以是指示audio exception handler执行对第一音频接口进行异常检测的指示信息,还可以是用于指示第一应用对音频接口的调用行为的指示信息(audio exception handler根据该指示信息触发自身对第一音频接口进行异常检测),还可以是其它形式的信息,本申请实施例对此不做具体限制。
在本申请实施例中,第一音频接口类型可以有多种,除图3所示的setmode、setBluetoothScoOn以及setMicrophoneMute外,还可以有:蓝牙音频传输模型协定设置(setBluetoothA2dpOn),用于设置是否打开蓝牙音频传输模型协定(advanced audiodistribution profile,A2DP)蓝牙耳机音频路由(在蓝牙播放音频时调用);扬声器设置(setSpeakerphoneOn),用于设置是否打开扬声器(听筒通话时调用);请求音频焦点(requestaudioFocus),用于请求音频的焦点;放弃音频焦点(abandonaudioFocus),用于放弃音频的焦点;声音流静音设置(setStreamMute),用于将手机的指定类型的声音调整为静音;铃声模式设置(setRingMode),用于设置手机的电话铃声的模式(电话铃声的模式可以包括正常手机铃声模式(RINGER_MODE_NORMAL)、手机铃声静音模式(RINGER_MODE_SILENT)、手机振动模式(RINGER_MODE_VIBRATE)等);启动/停止蓝牙SCO音频连接(startBluetoothSco/stopBluetoothSco),用于启动/停止蓝牙SCO音频连接。以下实施例主要以第一音频接口是setmode、setBluetoothScoOn、setMicrophoneMute为例进行介绍。
在本申请实施例中,手机100可以通过检测应用对不同音频接口的调用行为,确定不同的第一音频接口是否满足异常检测条件。
以第一音频接口是setmode为例,如前述示例1,setmode异常通常是在应用执行音频播放任务时发生,而应用执行音频播放任务时,需要调用AudioTrack、setSpeakerphoneOn等音频接口。因此,手机可以通过监听应用对AudioTrack、setSpeakerphoneOn等的调用行为,来判断setmode是否满足异常检测条件。当手机监听到第一应用(如QQ音乐、网易云音乐等)调用AudioTrack、setSpeakerphoneOn等时,确定第一应用需要执行音频播放任务,进而确定第一音频接口即setmode满足异常检测条件。
以第一音频接口是setBluetoothScoOn为例,如前述示例3,setBluetoothScoOn异常通常是在应用执行蓝牙SCO通话任务时发生,而应用执行蓝牙SCO通话任务时需要调用setBluetoothScoOn。因此,手机100可以通过监听setBluetoothScoOn是否被调用来判断setBluetoothScoOn是否满足异常检测条件。当手机100监听到第二应用(如微信、手机QQ、王者荣耀、绝地求生等)调用setBluetoothScoOn时,确定第一音频接口即setBluetoothScoOn满足异常检测条件。
以第一音频接口是setMicrophoneMute为例,如前述示例2,setMicrophoneMute异常通常是在应用执行音频录制任务时发生,而应用执行音频录制任务时需要调用AudioRecord、AudioTrack等音频接口。因此手机100可以通过监听AudioRecord、AudioTrack等是否被调用来判断setMicrophoneMute是否满足异常检测条件。当手机100监听到第三应用(如录音机、语音助手等)调用AudioRecord、AudioTrack等时,确定第一音频接口setMicrophoneMute满足异常检测条件。
以上例举了三种可能的第一音频接口对应的异常检测条件,对于其他类型的第一音频接口的异常检测条件,可以根据类似的思路获得,本申请实施例不一一例举。
一种具体的示例,请参见图6(a),手机的显示屏显示第一应用(例如网易云音乐)的显示界面,该显示界面中包括多首歌曲的标识信息(比如歌曲名称)。手机的处理器110检测到用户在显示屏上触发输入操作(点击歌曲《小宇》的操作),产生相应的硬件中断。系统的内核层将输入操作加工成原始输入事件进行存储。框架层读取原始输入事件,将原始输入事件加工成包含更多信息的输入事件,将该输入事件进行识别并分发到感兴趣的应用即第一应用(网易云音乐)。第一应用在接收到该输入事件后,开始执行音频播放任务,调用框架层中的相关音频接口(例如AudioTrack、setSpeakerphoneOn等)。此时,框架层中的audioservice检测到第一应用对该些音频接口的调用行为,确定满足setmode异常检测的触发条件(即存在应用执行音频播放任务),然后发送通知给audio exception handler,触发audio exception handler执行setmode的异常检测流程。
当然,在具体实施过程中,输入操作除了是用户在触摸屏上的点击操作外,还可以有其它实现形式。例如用户在显示屏上的滑动操作,或者用户通过麦克风语音输入的播放指令,或者是通过耳机触发的播放操作,等等,只要是可能触发手机播放行为的输入操作对应的输入事件便是可能触发播放行为的输入事件,本申请实施例不做具体限制。
S503:手机获取与所述第一音频接口相关的至少一个音频状态参数。
具体的,手机中的处理器110在运行框架层中的软件程序和/或模块时,框架层中的audio exception handler接收到audio service发送的通知后,从audio service获取第一音频接口异常所需的相关音频状态参数。作为一种可选的实施方式,所述至少一个音频状态信息还可以是手机在执行上述步骤S502时,携带在所述audio service发送给audioexception handler的通知中。
在本申请实施例中,音频状态参数可以包括以下音频状态参数中的任意一种或者任意多种的组合:音频播放和录制状态(例如轨道(track)数量,活动轨道(active track)数量);音频播放音量(7种音频流和设备的映射音量等级);音频mode状态(mode=0,或1,或2,或3);音频播放和录制采样率;是否播放视频;当前亮屏/灭屏状态;声音设备选择状态(包括声音输入设备和声音输出设备的选择状态,例如来电时声音会同时从耳机和扬声器出、听音乐时声音会选择从耳机出);音频声道数;APP播放音频流类型;APP音频焦点状态;APP音频权限状态;蓝牙SCO和A2DP的选择状态、音频录制mic状态;音频播放媒体文件信息(专辑,歌手等);APP属性(系统,或预置,或用户安装等);音效生效状态(例如设备上有dolby音效,声音从设备输出前是否有过音效);音频数字信号处理(digital signalprocessing,DSP)器件状态(如DSP器件上报状态,可用于判断音频状态);音频时延状态(例如播放一个声音,从开始播放时间点,到用户听到这个声音的时间点,这两个时间点中间的时间长度);音频播放器类型(例如soundpoop,mediaplayer,audiotrack等,不同的播放器适用于不同的播放场景);音频播放器播放状态(包括准备状态,开始状态,暂停状态等);音频数字版权管理(digital rights management,DRM)状态(例如当前音频是否是受版权保护的状态)、手机免打扰状态;铃声模式;闹钟状态;视频状态(例如视频的分辨率,视频的格式,视频播放/停止等状态);音频编解码选择状态(音频播放的时候,需要进行音频的解码,根据音频的不同的格式、采样率等会选择不同的解码器,通过解码器的工作状态,可以知道哪些格式在播放)。当然,以上只是对音频状态参数的一些举例,在具体实施过程中,音频状态参数还可以有其它实现形式,本申请实施例对此不做限制。
在具体实施时,不同的第一音频接口的异常检测流程中需要获取的音频状态参数可以不同。例如,setmode的音频异常检测流程被触发后,audio Service需要获取的音频状态参数可以包括:音频的录制状态(track数量,active track数量),音频的mode状态、是否播放视频、视频状态(视频的分辨率,视频的格式,视频播放/停止等)、播放音频采样率等。
再例如,setbluetoothScoON的音频异常检测流程被触发后,audio Service需要获取的音频状态参数可以包括:蓝牙SCO和A2DP的选择状态(SCO在通话时被选择,A2DP在播放音乐时选择)、同一个APP开启SCO的次数、音频播放和录制状态、声音输出设备的选择状态等。
再例如,setmicrophoneMute的音频异常检测流程被触发后,audio Service需要获取的音频状态参数可以包括:音频录制麦克(mic)状态、设置mic为静音(mute)状态的APP的属性(如系统APP、三方APP)、音频播放和录制状态中录音的track数量。
S504:手机根据所述至少一个音频状态参数判断第一音频接口的状态是否异常;若是,则执行步骤S505;否则不做处理,结束异常检测流程。
具体的,手机中的处理器110在运行框架层中的软件程序和/或模块时,框架层中的audio exception handler从audio service获取检测第一音频接口异常所需的相关音频状态参数后,基于获取到的音频状态参数识别第一音频接口是否存在异常(例如,判断获取到的各个音频状态参数是否满足预设条件,若满足,则确定存在异常,若不满足,则不存在异常)。如果audio exception handler确定第一音频接口存在异常,则还可以输出异常恢复方案给audio service。
一些可能的实施方式中,audio exception handler可以预先存储一个或多个音频异常模型,其中,不同的音频异常模型可以对应不同的第一音频接口。比如,音频异常模型1对应setmode,即音频异常模型1可以用于检测setmode是否异常。音频模型2可以对应setBluetoothScoOn,即音频异常模型2可以用于检测setBluetoothScoOn是否异常。音频异常模块3可以对应setMicrophoneMute,即音频异常模型3可以用于检测setMicrophoneMute是否异常。
如前文所述,当audio service确定第一音频接口满足异常检测条件时,audioservice可以发送通知给audio exception handler,以触发audio exception handler开始执行对第一音频接口的异常检测。一种可能的情况为,audio service向audioexception handler发送的通知中包括第一音频接口的标识。audio exception handler接收到通知后,根据通知中的第一音频接口的标识确定对应的音频异常模型,然后根据确定出的音频异常模型对第一音频接口进行异常场景。例如,audio exception handler接收到通知后,根据通知中的setmode的标识确定对应的音频异常模型是音频异常模型1。因此,audio exception handler使用音频异常模型1对setmode进行异常检测。
在一些实施例中,每个音频异常模型可以包括用于判断第一音频接口是否异常的判断条件,还可以包括至少一个异常恢复方案。其中,判断条件可以包括至少一个音频状态参数,以及该至少一个音频状态参数中各个音频状态参数需要满足的预设条件。每个音频异常模块中的判断条件可以不同,比如每个音频异常模型对应的音频状态参数可以不同。
例如,以setmode为例,setmode对应音频异常模型1。音频异常模型1中的判断条件可以包括音频的录制状态为调用setmode的应用(如微信应用)中没有录音和播放track,mode状态为3(即声音模式为COMMUNICATION)等。因此,audio service获取到与setmode相关的音频状态参数后,判断音频状态参数均满足音频异常模型1中的判断条件时,确定当前没有通话进程,但是mode的状态却为COMMUNICATION,未将mdoe恢复为0,确定setmode调用出现异常。
再例如,以setbluetoothScoON为例,setbluetoothScoON对应音频异常模型2。音频异常模型2中的判断条件可以包括蓝牙SCO和A2DP的选择状态为SCO被选择,且统计到同一个APP开启SCO超过1次,音频播放和录制状态为开启SCO的APP当前有音频播放和音频录制进程,声音输出设备的选择状态为选择了蓝牙设备输出等。audio service获取到的与setbluetoothScoON相关的音频状态参数后,判断音频状态参数均满足音频异常模型2中的判断条件时,则可以确定同一个APP多次重复调用了同一个音频接口,即setbluetoothScoON。
再例如,以setmicrophoneMute为例,setmicrophoneMute对应音频异常模型3。音频异常模型3中的判断条件可以包括音频录制mic状态为mute状态、设置mic为mute状态的APP的属性为非系统APP,音频播放和录制状态中录音的track数量为0等。audio service获取到的与setmicrophoneMute相关的音频状态参数后,判断音频状态参数均满足音频异常模型3中的判断条件,则可以确定麦克处于异常静音状态。对于其他音频接口异常检测流程中使用的判断条件,可以采用类似的思路获得,本申请实施例不再一一列举。
作为一种可选的实施方式,在本申请实施例中,各个音频接口对应的音频异常模型可以以映射表的形式存储,例如下表所示:
Figure BDA0002293697580000171
以下实施例以第一音频接口为setmode为例,介绍对setmode进行异常检测的完整过程。在本申请实施例中,setmode异常的检测流程可以包括:audio exception handler在预先存储的至少一个音频异常模型中确定出与setmode对应的第一音频异常模型。audioexception handler基于第一音频异常模型确定需要获取的音频状态参数,例如音频的mode状态、音频的录制和播放状态等。audio exception handler从audio service获取这些音频状态参数。audio exception handler根据获取到的音频状态参数以及将第一音频异常模型中的判断条件判断setmode是否异常。
以音频状态参数包括mode状态为例。audio exception handler基于音频状态参数和第一音频异常模型判断setmode是否异常的过程可以包括:第一步、判断mode是否为3(即判断声音的模式是否是conmunication);第二步、判断调用setmode的应用当前是否存在录音和播放的track(即判断微信应用中是否存在通话进程),如果确定没有录音音轨和播放音轨,则确定setmode异常(mode为3,但是不存在通话进程,说明微信可能在上一次通话结束后未将mdoe从3恢复为0。可选的,为了使得异常识别更加精准,获取的音频状态参数还可以包括更多的音频状态参数,例如是否播放视频、视频状态(视频的分辨率,视频的格式,视频播放/停止等)、播放音频采样率等,相应的,第一音频异常模型中的判断条件还可以包括无视频播放,播放音频采样率在预设范围内等(表明电子设备未处于视频通话状态),在以上判断条件均满足时,再确定setmode异常。
作为一种可选的实施方式,在本申请实施例中,还可以通过大数据不断识别新的异常场景,分析、更新音频异常模型,通过云端同步,对手机上的现有音频异常模型进行增删、修改等操作,以进一步保证方案的可靠性,提高手机音频服务体验。
S505:手机对第一音频接口进行异常恢复。
具体的,手机中的处理器110在运行框架层中的软件程序和/或模块时,框架层中的audio exception handler输出与音频异常模型对应的异常恢复方案,audio service接收异常恢复方案并根据接收到的异常恢复方案执行对应的异常恢复操作。
在本申请实施例中,异常恢复方案可以有多种实现方式。方式1:系统直接对第一音频接口的状态进行复原,比如系统直接将setmode的mode置为0。方式2:系统重启调用第一音频接口的进程,比如如果是微信调用setmode将mode设置为3且在通话结束后未将mode恢复为0,则重启微信的通话进程。方式3:重启电子设备。方式4:推动调用第一音频接口的应用对所述第一音频接口进行恢复,例如通过大数据收集具体哪些应用有这种异常,将异常告知这些应用解决。另外,电子设备还可以以弹窗通知、系统通知消息等方式输出提示信息,以提示用户是否对所述第一音频接口执行异常恢复操作,以及在接收到用户输入的确认指令后,再对所述第一音频接口执行异常恢复操作。当然,在具体实施过程中,异常恢复方案还可以有其它实现方式,本申请实施例不做限制。
一种具体的示例,仍然以第一音频接口为setmode为例。当确定setmode异常时,对应的异常恢复方案可以是:在显示屏上显示弹窗信息当前微信应用未恢复语音通话的状态,例如“当前您的手机可能无法播放音频”;然后,系统直接将mode状态恢复为0,或者通知三方应用(微信)整改,或者重置三方应用(微信)的音频状态,或者重启异常调用setmode的三方应用(微信),或者重启手机,或者将手机的音频服务重启等,本申请实施例不做限制。具体以系统直接将mode状态从3恢复为0为例:setmode接收到将mode恢复为0的任务之后,audioservice将这个任务分配给系统库层中的media framework,media framework再将这个任务分解成多个子任务(例如:通知音频硬件抽象层(hardware abstraction layer,HAL)录音降噪等算法、通知芯片恢复时延输出、通知硬件恢复智能功放(smartPA)、通知HAL恢复到普通的音量曲线等),并进一步递到内核层,完成对内核层中的相关硬件驱动的设置,完成setmode音频异常恢复。如图7所示,恢复完成后,音乐的声音从扬声器输出。
在一些实施例中,为了保证异常的音频接口能够被恢复,每个音频异常模型可以配备多个异常恢复方案。当确定某个音频接口异常后,如果匹配到的音频异常模型包含多个异常恢复方案,则可以根据预先设置的优先级,优先选取优先级最高的方案进行恢复,如果选择的优先级最高的方案恢复失败,则继续选择优先级次高的方案进行恢复,以此类推,直到该音频异常被恢复为止。例如,以setmode异常调用为例,异常恢复方案的优先级排序可以为:状态复原>弹窗通知>三方恢复>进程重启>整机重启。再例如,以setmicrophoneMute接口异常为例,异常恢复方案的优先级排序可以为:状态复原>弹窗通知>三方恢复>进程重启>整机重启。再例如,针对每个音频接口异常调用场景的异常恢复方案的优先级排序可以为:弹窗通知>状态复原>三方恢复>进程重启>整机重启。另外,还可以通过大数据采集反馈恢复失败场景,通过分析,对各个异常恢复方案进行优化。
在本申请实施例上述方案中,手机通过监测应用对音频接口的调用行为,触发对第一音频接口的异常检测,根据第一音频接口对应的第一音频异常模型识别第一音频接口是否异常,在确定第一音频接口异常时,使用第一音频异常模型匹配的异常恢复方案对第一音频接口的异常进行恢复,进而使得手机自动从音频异常状态中恢复,提升用户体验。并且,本申请实施例还可以识别出违规调用音频接口的应用,因此还有利于推动三方应用改进,规范三方应用调用音频接口的流程,进一步提升用户体验。
本申请上述各个实施例可以相互单独使用,也可以相互结合使用,以达到不同的技术效果。
结合上述实施例及附图,本申请实施例提供一种处理音频异常的方法,该方法可以在具有图2所示的硬件结构的手机100中实现。如图8所示,本申请实施例提供的处理音频异常的方法包括如下步骤:
S801、检测到电子设备中的第一应用需要执行第一音频任务;
S802、确定与所述第一音频任务相关的一个或多个第一音频接口;
S803、获取与所述第一音频接口相关的至少一个音频状态参数;所述至少一个音频状态参数表征所述第一音频接口的调用状态;
S804、根据所述至少一个音频状态参数确定所述第一音频接口的状态异常时,采用预先存储和所述第一音频接口相对应的异常恢复方案对所述第一音频接口执行异常恢复操作;
S805、所述第一应用执行所述第一音频任务。
上述本申请提供的实施例中,从手机100作为执行主体的角度对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,电子设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
基于相同的构思,本申请实施例还提供一种电子设备,包括处理器和存储器,所述存储器用于存储一个或多个计算机程序,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备执行包括如前的图5或图8所示的方法实施例中记载的全部步骤。
基于相同的构思,本申请实施例还提供一种电子设备,包括:音频播放单元,用于播放音频;处理单元,用于执行包括如前的图5或图8所示的方法实施例中记载的全部步骤。
基于相同的构思,本申请实施例还提供一种电子设备,该电子设备包括执行包括如前的图5或图8所示的方法实施例中记载的全部步骤的模块/单元。这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
基于相同的构思,本申请实施例还提供一种芯片,所述芯片与存储器耦合,用于执行所述存储器中存储的计算机程序,以执行包括如前的图5或图8所示的方法实施例中记载的全部步骤。
基于相同的构思,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行包括如前的图5或图8所示的方法实施例中记载的全部步骤。
基于相同的构思,本申请实施例还提供一种包含计算机程序产品,当所述计算机程序产品在终端上运行时,使得所述设备包括执行包括如前的图5或图8所示的方法实施例中记载的全部步骤。
应理解,上述各个实施例中涉及处理器可以是通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的指令,结合其硬件完成上述方法的步骤。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内,因此本申请的保护范围应以权利要求的保护范围为准。

Claims (25)

1.一种处理音频异常的方法,其特征在于,所述方法包括:
检测到电子设备中的第一应用需要执行第一音频任务;
确定与所述第一音频任务相关的一个或多个第一音频接口;
监测至少一个应用对所述电子设备中的一个或多个音频接口的调用行为;
根据所述调用行为,触发对所述第一音频接口进行异常检测;
获取与所述第一音频接口相关的至少一个音频状态参数;所述至少一个音频状态参数表征所述第一音频接口的调用状态;
根据所述至少一个音频状态参数确定所述第一音频接口的状态异常时,采用预先存储和所述第一音频接口相对应的异常恢复方案对所述第一音频接口执行异常恢复操作;
所述第一应用执行所述第一音频任务;
所述电子设备包括多种所述第一音频接口,不同的所述第一音频接口对应的所述一个或多个音频接口不同。
2.如权利要求1所述的方法,其特征在于,所述第一音频接口为模式设置setmode接口;监测至少一个应用对所述电子设备中的一个或多个音频接口的调用行为,包括:
监测至少一个应用对所述电子设备中的声音轨道AudioTrack接口和扬声器设置setSpeakerphoneOn接口的调用行为。
3.如权利要求1所述的方法,其特征在于,所述第一音频接口为蓝牙同步定向连接设置setBluetoothScoOn接口;监测至少一个应用对所述电子设备中的一个或多个音频接口的调用行为,包括:
监测至少一个应用对所述电子设备中的setBluetoothScoOn接口的调用行为。
4.如权利要求1所述的方法,其特征在于,所述第一音频接口为麦克风静音设置setMicrophoneMute接口;监测至少一个应用对所述电子设备中的一个或多个音频接口的调用行为,包括:
监测至少一个应用对所述电子设备中的声音录制AudioRecord接口、AudioTrack接口的调用行为。
5.如权利要求1所述的方法,其特征在于,所述电子设备存储有至少一个音频异常模型;其中,一个音频异常模型对应一个音频接口;每个音频异常模型包括与该音频异常模型对应的音频接口的标识,与该音频异常模型对应的音频接口相关的至少一个音频状态参数,以及当该音频异常模型对应的音频接口异常时与该音频异常模型对应的音频接口相关的至少一个音频状态参数应当满足的预设条件;
在获取与所述第一音频接口相关的至少一个音频状态参数之前,所述方法还包括:
确定所述第一音频接口的标识,从所述至少一个音频异常模型中确定出和所述第一音频接口的标识相匹配的第一音频异常模型;
根据所述第一音频异常模型确定需要获取的与所述第一音频接口相关的至少一个音频状态参数;
根据所述至少一个音频状态参数确定所述第一音频接口的状态异常,包括:
确定所述至少一个音频状态参数满足所述第一音频异常模型中的预设条件,则确定所述第一音频接口的状态异常。
6.如权利要求5所述的方法,其特征在于,每个音频异常模型还包括与该音频异常模型对应的第一音频接口相对应的异常恢复方案。
7.如权利要求1-6任一项所述的方法,其特征在于,所述第一音频任务包括音频播放任务,所述第一音频接口包括模式设置setmode接口;获取与所述第一音频接口相关的至少一个音频状态参数,包括:
获取setmode接口中mode的状态、音频的录制状态;
根据所述至少一个音频状态参数确定所述第一音频接口的状态异常,包括:
确定所述mode=3且调用setmode的应用中不存在录音音轨和播放音轨时,确定所述setmode接口的状态异常;其中,所述mode=3表征所述电子设备的声音模式为通话模式。
8.如权利要求1-6任一项所述的方法,其特征在于,所述第一音频任务包括蓝牙通话任务,所述第一音频接口包括蓝牙同步定向连接设置setBluetoothScoOn接口;
获取与所述第一音频接口相关的至少一个音频状态参数,包括:
获取蓝牙同步定向连接SCO和蓝牙音频传输模型协定A2DP的选择状态、同一个应用开启蓝牙SCO的次数、音频播放和录制状态、声音输出设备的选择状态;
根据所述至少一个音频状态参数确定所述第一音频接口的状态异常,包括:
在确定蓝牙SCO被选择、同一个APP开启SCO超过1次、开启SCO的APP当前有音频播放和音频录制进程以及声音输出设备为蓝牙设备时,确定所述setBluetoothScoOn接口的状态异常。
9.如权利要求1-6任一项所述的方法,其特征在于,所述第一音频任务包括音频录制任务,所述第一音频接口包括麦克风静音设置setMicrophoneMute接口;获取与所述第一音频接口相关的至少一个音频状态参数,包括:
获取音频录制麦克mic状态、设置mic为静音mute状态的应用的属性、音频播放和录制状态中录音的音轨数量;
根据所述至少一个音频状态参数确定所述第一音频接口的状态异常,包括:
在确定音频录制mic状态为mute状态、设置mic为mute状态的APP的属性为非系统应用以及音频播放和录制状态中录音的音轨数量为0时,确定所述setMicrophoneMute接口的状态异常。
10.如权利要求1-6任一所述的方法,其特征在于,所述异常恢复方案包括以下几种方案中的至少一种:
系统将所述第一音频接口从当前状态复原到被调用前的状态;
重启调用所述第一音频接口的进程;
重启所述电子设备;
推动调用所述第一音频接口的应用对所述第一音频接口进行恢复。
11.如权利要求10所述的方法,其特征在于,在采用预先存储和所述第一音频接口相对应的异常恢复方案对所述第一音频接口执行异常恢复操作之前,还包括:
输出提示信息,所述提示信息用于提示用户是否对所述第一音频接口执行异常恢复操作;
当接收到确认指令后,采用预先存储和所述第一音频接口相对应的异常恢复方案对所述第一音频接口执行异常恢复操作。
12.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器用于存储一个或多个计算机程序,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备执行:
检测到所述电子设备中的第一应用需要执行第一音频任务;
确定与所述第一音频任务相关的一个或多个第一音频接口;
监测至少一个应用对所述电子设备中的一个或多个音频接口的调用行为;
根据所述调用行为,触发对所述第一音频接口进行异常检测;
获取与所述第一音频接口相关的至少一个音频状态参数;所述至少一个音频状态参数表征所述第一音频接口的调用状态;
根据所述至少一个音频状态参数确定所述第一音频接口的状态异常时,采用预先存储和所述第一音频接口相对应的异常恢复方案对所述第一音频接口执行异常恢复操作;
所述第一应用执行所述第一音频任务;
其中,所述电子设备包括多种所述第一音频接口,不同的所述第一音频接口对应的所述一个或多个音频接口不同。
13.如权利要求12所述的电子设备,其特征在于,所述第一音频接口为模式设置setmode接口;当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备具体执行:
监测至少一个应用对所述电子设备中的声音轨道AudioTrack接口和扬声器设置setSpeakerphoneOn接口的调用行为。
14.如权利要求12所述的电子设备,其特征在于,所述第一音频接口为setBluetoothScoOn接口;当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备具体执行:
监测至少一个应用对所述电子设备中的setBluetoothScoOn接口的调用行为。
15.如权利要求12所述的电子设备,其特征在于,所述第一音频接口为setMicrophoneMute接口;当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备具体执行:
监测至少一个应用对所述电子设备中的声音录制AudioRecord接口、AudioTrack接口的调用行为。
16.如权利要求12所述的电子设备,其特征在于,所述电子设备存储有至少一个音频异常模型;其中,一个音频异常模型对应一个音频接口;每个音频异常模型包括与该音频异常模型对应的音频接口的标识,与该音频异常模型对应的音频接口相关的至少一个音频状态参数,以及当该音频异常模型对应的音频接口异常时与该音频异常模型对应的音频接口相关的至少一个音频状态参数应当满足的预设条件;
当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行:
在获取与所述第一音频接口相关的至少一个音频状态参数之前,确定所述第一音频接口的标识,从所述至少一个音频异常模型中确定出和所述第一音频接口的标识相匹配的第一音频异常模型;
根据所述第一音频异常模型确定需要获取的与所述第一音频接口相关的至少一个音频状态参数;
确定所述至少一个音频状态参数满足所述第一音频异常模型中的预设条件,则确定所述第一音频接口的状态异常。
17.如权利要求16所述的电子设备,其特征在于,每个音频异常模型还包括与该音频异常模型对应的第一音频接口相对应的异常恢复方案。
18.如权利要求12-17任一项所述的电子设备,其特征在于,所述第一音频任务包括音频播放任务,所述第一音频接口包括模式设置setmode接口;当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备具体执行:
获取setmode接口中mode的状态、音频的录制状态;
确定所述mode=3且调用setmode的应用中不存在录音音轨和播放音轨时,确定所述setmode接口的状态异常;其中,所述mode=3表征所述电子设备的声音模式为通话模式。
19.如权利要求12-17任一项所述的电子设备,其特征在于,所述第一音频任务包括蓝牙通话任务,所述第一音频接口包括蓝牙同步定向连接设置setBluetoothScoOn接口;
当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备具体执行:
获取蓝牙同步定向连接SCO和蓝牙音频传输模型协定A2DP的选择状态、同一个应用开启蓝牙SCO的次数、音频播放和录制状态、声音输出设备的选择状态;
在确定蓝牙SCO被选择、同一个APP开启SCO超过1次、开启SCO的APP当前有音频播放和音频录制进程以及声音输出设备为蓝牙设备时,确定所述setBluetoothScoOn接口的状态异常。
20.如权利要求12-17任一项所述的电子设备,其特征在于,所述第一音频任务包括音频录制任务,所述第一音频接口包括麦克风静音设置setMicrophoneMute接口;当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述电子设备具体执行:
获取音频录制麦克mic状态、设置mic为静音mute状态的应用的属性、音频播放和录制状态中录音的音轨数量;
在确定音频录制mic状态为mute状态、设置mic为mute状态的APP的属性为非系统应用以及音频播放和录制状态中录音的音轨数量为0时,确定所述setMicrophoneMute接口的状态异常。
21.如权利要求12-17任一项所述的电子设备,其特征在于,所述异常恢复方案包括以下几种方案中的至少一种:
系统将所述第一音频接口从当前状态复原到被调用前的状态;
重启调用所述第一音频接口的进程;
重启所述电子设备;
推动调用所述第一音频接口的应用对所述第一音频接口进行恢复。
22.如权利要求21所述的电子设备,其特征在于,当所述存储器存储的一个或多个计算机程序被所述处理器执行时,还使得所述电子设备执行:
在采用预先存储和所述第一音频接口相对应的异常恢复方案对所述第一音频接口执行异常恢复操作之前,输出提示信息,所述提示信息用于提示用户是否对所述第一音频接口执行异常恢复操作;
当接收到确认指令后,采用预先存储和所述第一音频接口相对应的异常恢复方案对所述第一音频接口执行异常恢复操作。
23.一种电子设备,其特征在于,包括:
音频播放单元,用于播放音频;
处理单元,用于执行如权利要求1至11中任一项所述的方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至11中任一项所述的方法。
25.一种芯片,其特征在于,所述芯片与存储器耦合,用于执行所述存储器中存储的计算机程序,以执行如权利要求1至11中任一项所述的方法。
CN201911191521.9A 2019-08-06 2019-11-28 一种处理音频异常的方法及电子设备 Active CN111078448B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2019107228153 2019-08-06
CN201910722815 2019-08-06

Publications (2)

Publication Number Publication Date
CN111078448A CN111078448A (zh) 2020-04-28
CN111078448B true CN111078448B (zh) 2022-04-05

Family

ID=70312000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911191521.9A Active CN111078448B (zh) 2019-08-06 2019-11-28 一种处理音频异常的方法及电子设备

Country Status (1)

Country Link
CN (1) CN111078448B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760082A (zh) * 2020-06-02 2021-12-07 Oppo广东移动通信有限公司 电子设备
WO2022002218A1 (zh) * 2020-07-02 2022-01-06 华为技术有限公司 一种音频控制方法、系统及电子设备
CN111913684A (zh) * 2020-07-29 2020-11-10 深圳Tcl新技术有限公司 声音播放模式的设置方法、装置及存储介质
WO2022087811A1 (zh) * 2020-10-27 2022-05-05 华为技术有限公司 模型推理异常处理方法及装置
CN112558912B (zh) * 2020-12-11 2024-03-19 北京百家科技集团有限公司 应用程序及其录音方法、终端设备和存储介质
CN112786070B (zh) * 2020-12-28 2024-03-15 Oppo广东移动通信有限公司 音频数据处理方法、装置、存储介质与电子设备
CN115022442B (zh) * 2021-12-16 2023-06-09 荣耀终端有限公司 音频故障时间定位方法、电子设备及存储介质
CN115529379B (zh) * 2022-03-22 2023-06-20 荣耀终端有限公司 防止蓝牙音频Track音轨抖动的方法、电子设备及存储介质
CN116828100A (zh) * 2022-03-22 2023-09-29 荣耀终端有限公司 蓝牙音频播放方法、电子设备及存储介质
CN117406654B (zh) * 2023-12-15 2024-04-16 荣耀终端有限公司 音效处理方法和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110130A (zh) * 2010-09-17 2011-06-29 苏州阔地网络科技有限公司 一种网页上实现麦克风检测的方法
CN107506289A (zh) * 2017-07-06 2017-12-22 广东网金控股股份有限公司 一种金融终端的异常状态监控方法及金融终端
CN109032823A (zh) * 2018-05-30 2018-12-18 出门问问信息科技有限公司 一种语音模块异常自恢复的方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9282413B2 (en) * 2013-07-16 2016-03-08 Intel Corporation Apparatus and method for automatic audio system and recovery from unexpected behaviors
CN105786441B (zh) * 2016-01-29 2019-01-25 腾讯科技(深圳)有限公司 一种音频处理的方法、服务器、用户设备及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110130A (zh) * 2010-09-17 2011-06-29 苏州阔地网络科技有限公司 一种网页上实现麦克风检测的方法
CN107506289A (zh) * 2017-07-06 2017-12-22 广东网金控股股份有限公司 一种金融终端的异常状态监控方法及金融终端
CN109032823A (zh) * 2018-05-30 2018-12-18 出门问问信息科技有限公司 一种语音模块异常自恢复的方法及装置

Also Published As

Publication number Publication date
CN111078448A (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN111078448B (zh) 一种处理音频异常的方法及电子设备
US10452349B2 (en) Electronic device and operation control method therefor
KR102350498B1 (ko) 외부 장치를 통해 오디오 신호를 재생하기 위한 전자 장치 및 그의 동작 방법
WO2020062159A1 (zh) 无线充电方法及电子设备
WO2020132818A1 (zh) 无线短距离音频共享方法及电子设备
US20160373801A1 (en) Method and device for playing multimedia file
CN109062535B (zh) 发声控制方法、装置、电子装置及计算机可读介质
US20170034336A1 (en) Event prompting method and device
WO2020006711A1 (zh) 一种消息的播放方法及终端
WO2021000817A1 (zh) 环境音处理方法及相关装置
CN111596885B (zh) 音频数据处理方法、服务器及存储介质
CN115729511A (zh) 一种播放音频的方法及电子设备
KR102668913B1 (ko) 통화 방법 및 장치
CN116017388B (zh) 一种基于音频业务的弹窗显示方法和电子设备
WO2022089563A1 (zh) 一种声音增强方法、耳机控制方法、装置及耳机
CN115643339A (zh) 调节音量的方法、电子设备及计算机可读存储介质
US20210286588A1 (en) Method and apparatus for playing alarm and electronic device
CN115086888A (zh) 消息通知方法与装置、电子设备
CN114500728A (zh) 来电铃声设置方法、来电提示方法和电子设备
CN113678481A (zh) 无线音频系统、音频通讯方法及设备
US20230297324A1 (en) Audio Control Method, System, and Electronic Device
CN116405593B (zh) 音频处理方法及相关装置
WO2023197999A1 (zh) 显示方法及电子设备
CN114006969B (zh) 一种窗口启动方法和电子设备
CN113271577B (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