Processing

Please wait...

Settings

Settings

Goto Application

1. WO2020107177 - AUDIO RESOURCE INVOKING METHOD AND APPARATUS, AND ELECTRONIC DEVICE

Document

说明书

发明名称 0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19  

附图

1   2   3   4   5   6  

说明书

发明名称 : 一种音频资源调用的方法、装置及电子设备

技术领域

[0001]
本发明涉及信息技术领域,特别是涉及一种音频资源调用的方法、装置及电子设备。

背景技术

[0002]
目前的移动终端中,其音频资源可通过不同的应用程序调用,例如,可通过音乐应用软件调用移动终端的音频资源以实现音乐的播放,可通过通话软件实现铃声的播放,也可通过录音软件实现麦克风等资源的调用。
[0003]
然而,音频资源由于其独特性及唯一性,在使用过程中通常只能被一个应用程序占用而无法实现共用。以录音为例,当一个录音程序正在使用该录音资源时,另一个录音程序则无法同一时刻对该录音资源进行使用。
[0004]
在现有技术中,当一方需要使用音频资源时需要等到正在使用方使用完该音频资源并全部释放后才可以使用,而若当前使用方无限期使用该资源或异常占用该音频资源没有得到相应地释放时,任何新的应用程序均不能调用该音频资源,造成使用异常,导致系统稳定性差,用户体验差。
[0005]
发明内容
[0006]
本申请实施例提供一种音频资源调用的方法,包括:
[0007]
接收应用程序的音频资源调用请求;
[0008]
对所述音频资源状态进行监测,若所述音频资源状态为已占用状态,查询所述音频资源对应的占用方信息;
[0009]
若所述占用方信息为空,则释放所述音频资源,以使所述应用程序对所述释放后的音频资源进行调用。
[0010]
本申请实施例还提供一种音频资源调用的方法,包括:
[0011]
为应用程序分配对应的音频资源;
[0012]
在所述应用程序调用所述音频资源时,对所述音频资源状态进行监测;
[0013]
若所述音频资源状态异常,则释放所述音频资源,以使所述应用程序对所述释放 后的音频资源进行调用。
[0014]
本申请实施例还提供一种音频资源调用的装置,所述装置包括:
[0015]
接收模块,用于接收应用程序的音频资源调用请求;
[0016]
监测模块,用于对所述音频资源状态进行监测,若所述音频资源状态为已占用状态,查询所述音频资源对应的占用方信息;
[0017]
释放模块,用于若所述占用方信息为空,则释放所述音频资源,以使所述应用程序对所述音频资源进行调用。
[0018]
本申请实施例还提供一种音频资源调用的装置,所述装置包括:
[0019]
分配模块,用于为应用程序分配对应的音频资源;
[0020]
监测模块,用于在所述应用程序调用所述音频资源时,对所述音频资源状态进行监测;
[0021]
释放模块,用于在所述音频资源状态异常时,则释放所述音频资源,以使所述应用程序对所述释放后的音频资源进行调用。
[0022]
本申请实施例还提供一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行:
[0023]
接收应用程序的音频资源调用请求;
[0024]
对所述音频资源状态进行监测,若所述音频资源状态为已占用状态,查询所述音频资源对应的占用方信息;
[0025]
若所述占用方信息为空,则释放所述音频资源,以使所述应用程序对所述释放后的音频资源进行调用。
[0026]
本申请实施例还提供一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行:
[0027]
为应用程序分配对应的音频资源;
[0028]
在所述应用程序调用所述音频资源时,对所述音频资源状态进行监测;
[0029]
若所述音频资源状态异常,则释放所述音频资源,以使所述应用程序对所述释放后的音频资源进行调用。
[0030]
本申请实施例还提供一种计算机非易失性可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的音频资源调用的步骤。
[0031]
电子设备和计算机可读存储介质在实现上述方法时,对音频资源占用方进行监测, 若占用方信息为空则立即释放该音频资源,为需要调用该音频资源的应用程序进行进一步调用。提高了系统的稳定性,提升了用户体验。

附图说明

[0032]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他实施例的附图。
[0033]
图1为一实施例的音频资源调用方法流程图;
[0034]
图2为另一实施例的音频资源调用方法流程图;
[0035]
图3为一实施例的音频资源调用装置结构示意图;
[0036]
图4为另一实施例的音频资源调用装置结构示意图;
[0037]
图5为一实施例中电子设备的内部结构示意图;
[0038]
图6为与本发明实施例提供的计算机设备相关的电子设备的部分结构的框图。

具体实施方式

[0039]
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
[0040]
如图1所示,本申请实施例提供了一种音频资源调用的方法,该方法包括:
[0041]
S110、接收应用程序的音频资源调用请求;
[0042]
音频资源在本申请实施例中,可以是播放音频所需要的资源,例如扬声器、声道、音频文件等,也可以是进行录音时所需要的资源,例如麦克风、音频电路、录制数据存储器、音频录制处理器等,本申请实施例对此并无限制。其中,可通过电子设备实现对应用程序的音频资源调用,对音频资源调用可以通过电子设备内置的处理函数进行,以安装了安卓系统的电子设备为例,在安卓系统中定义了不同种类的函数以实现不同方式的音频资源调用,包括音频的输入输出操作,如音乐播放、通话、语音提示、录音等操作,因此,音频资源调用只需要在使用对应的音频调用函数即可实现该操作。
[0043]
在本申请实施例中,一个或多个应用程序在使用音频资源之前需要先发送调用请求,电子设备在接收到该应用程序的调用请求后会进行权限确认,若该应用程序具备调用音频资源的权限这允许调用,否则调用失败。现有技术中,在确认可以调用音频资源时,若该音频资源没有被占用,则直接调用该音频资源,若该音频资源已经被占用则自动进行等待,直到上一个应用程序(即音频资源的占用方)已经释放掉该音频资源,因此,现有技术缺少对上一个应用程序使用音频资源的监测机制,导致上一应用程序发生异常占用该音乐资源时不能及时发现及释放音频资源。
[0044]
S120、对所述音频资源状态进行监测,若所述音频资源状态为已占用状态,查询所述音频资源对应的占用方信息;
[0045]
在本申请实施例中,创造性地提出了一种全新的监测机制,即:在系统框架层创建系统级的监测模块,通过所述监测模块对所述音频资源状态进行监测,或,独立创建监听进程,通过消息传输机制监测所述应用程序的音频资源状态。具体地,电子设备可通过内置的监听函数对应用程序的音频资源调用进行监听,以安卓系统的电子设备为例,可在系统框架层(native/framework层)创建系统级的监听模块,通过所述监听模块对所述应用程序的音频模式进行监听,或,独立创建监听进程,通过消息传输机制监听所述应用程序的音频模式。例如,可在框架层设立监听模块并运行在系统服务程序(system_server)中,由于该监听模块设立在系统级的服务框架层中,可方便与其他系统服务进行交互,同时无需担心系统调用时的权限问题。此外,也可以创建独立的监听进程,在该进程中设立并调用单独的监听函数,可设置为开机自启动,并实时对其他任何一个应用程序的音频资源调用进行监控,具体地,可实时抓取当前调用的音频资源对应应用程序的ID信息、状态信息和/或优先权信息等,以此确定当前调用行为对应的应用程序及其状态,可独立开发,不与系统进行耦合,方便后续的开发和升级。进一步地,还可以监测当前调用音频资源的应用程序状态是否正常,若状态异常,或ID信息为空,则认定该应用程序异常占用音频资源,需要对该异常占用的音频资源进行处理。
[0046]
S130、若所述占用方信息为空,则释放所述音频资源,以使所述应用程序对所述释放后的音频资源进行调用。
[0047]
占用方即为当前占用了音频资源的一个或多个应用程序,占用方信息即为当前占用方的状态信息或ID信息,若占用方信息为空,即表示当前的占用方状态异常,则输 出为空(Null或Error),或没有监测到占用方的信息,输出为空(Null),此时确定该占用方出现异常,即异常占用该音频资源,因此,需要释放该音频资源,以使所述应用程序对所述释放后的音频资源进行调用。其中,可通过重启(Reset)操作来释放该音频资源,例如,重启音频管理器以释放所述音频资源,或通过音频释放接口对所述音频资源进行释放,或重启音频系统以释放所述音频资源。另,若所述占用方信息不为空,则确定占用方正常占用了该音频资源,则发送音频资源调用失败响应消息至发送请求的应用程序,禁止该应用程序对所述音频资源进行调用直到该音频资源被正常释放,可选地,此时可生成冲突提示消息并显示,供用户查看,并可根据用户的进一步操作,对占用方进行强制关闭或重启,以释放掉该音频资源并供该发送请求的应用程序使用。
[0048]
此外,在本申请实施例中,还可以根据应用程序之间的优先级进行音频资源的释放与否。具体地,
[0049]
若所述占用方信息不为空,确定所述占用方及所述应用程序的优先级;
[0050]
若所述应用程序的优先级高于所述占用方优先级,则释放所述音频资源,以供所述应用程序对所述释放后的音频资源进行调用;
[0051]
若所述应用程序的优先级低于所述占用方优先级,或与所述占用方优先级相同,则禁止所述应用程序对所述音频资源进行调用。
[0052]
需要说明的是,在所述应用程序对所述音频资源进行调用之后,该发送请求的应用程序通过所述音频资源进行录音操作,或通过所述音频资源进行播放操作。
[0053]
本申请实施例中,通过对音频资源占用方进行监测,若占用方信息为空则立即释放该音频资源,为需要调用该音频资源的应用程序进行进一步调用。若占用方信息不为空,可根据优先权信息确定音频资源决定是否调用该音频资源,从而提高了系统的稳定性,提升了用户体验。
[0054]
如图2所示,本申请实施例还提供了一种音频资源调用的方法,包括:
[0055]
S210、为应用程序分配对应的音频资源;
[0056]
与S110的依据请求再进行分配的机制不同,在S210中,电子设备主动为需要使用该音频资源的应用程序分配或预分配对应的音频资源,该音频资源可以是随机分配,也可以是按照固定阈值进行音频资源的分配。
[0057]
S220、在所述应用程序调用所述音频资源时,对所述音频资源状态进行监测;
[0058]
为该应用程序分配了音频资源之后,在应用程序需要调用或开始调用该分配的音频资源时,对该音频资源状态进行监测。其监测过程具体如S120所述,本申请实施例中对此不再累述。
[0059]
S230、若所述音频资源状态异常,则释放所述音频资源,以使所述应用程序对所述释放后的音频资源进行调用。
[0060]
音频资源状态异常,即当前音频资源已经被异常占用。在本申请实施例中,若当前音频资源在调用之前已经被占用,且占用方信息为空或异常,则确定当前音频资源状态异常。
[0061]
占用方即为当前占用了音频资源的一个或多个应用程序,占用方信息即为当前占用方的状态信息或ID信息,若占用方信息为空,即表示当前的占用方状态异常,则输出为空(Null或Error),或没有监测到占用方的信息,输出为空(Null),此时确定该占用方出现异常,即异常占用该音频资源,因此,需要释放该音频资源,以使所述应用程序对所述释放后的音频资源进行调用。其中,可通过重启(Reset)操作来释放该音频资源,例如,重启音频管理器以释放所述音频资源,或通过音频释放接口对所述音频资源进行释放,或重启音频系统以释放所述音频资源。另,若所述占用方信息不为空,则确定占用方正常占用了该音频资源,则发送音频资源调用失败响应消息至发送请求的应用程序,禁止该应用程序对所述音频资源进行调用直到该音频资源被正常释放,可选地,此时可生成冲突提示消息并显示,供用户查看,并可根据用户的进一步操作,对占用方进行强制关闭或重启,以释放掉该音频资源并供该发送请求的应用程序使用。
[0062]
其中,释放音频资源,具体可以通过重启音频管理器以释放所述音频资源,或通过音频释放接口对所述音频资源进行释放,或重启音频系统以释放所述音频资源。
[0063]
可选地,若所述音频资源状态为已占用,且占用方信息为空,则重启音频系统以释放所述音频资源,或,
[0064]
若所述音频资源状态为已占用,且占用方信息不为空,则分别获取所述应用程序及所述占用方的优先级,若所述应用程序的优先级高于所述占用方优先级,则释放所述音频资源,以供所述应用程序对所述释放后的音频资源进行调用;若所述应用程序的优先级低于所述占用方优先级,或与所述占用方优先级相同,则禁止所述应用程序对所述音频资源进行调用。
[0065]
在所述应用程序对所述音频资源进行调用之后,可通过所述音频资源进行录音操作。
[0066]
本申请实施例中,通过监测调用已分配的音频资源状态,若该状态异常,则及时释放该音频资源,供应用程序进行后续调用。进一步地,若状态正常,还可以根据优先权决定是否供应用程序进行后续调用,提升了电子设备的稳定性,提高了用户体验。
[0067]
如图3所示,本申请实施例还提供一种音频资源调用的装置30,该装置30包括:
[0068]
接收模块31,用于接收应用程序的音频资源调用请求;
[0069]
音频资源在本申请实施例中,可以是播放音频所需要的资源,例如扬声器、声道、音频文件等,也可以是进行录音时所需要的资源,例如麦克风、音频电路、录制数据存储器、音频录制处理器等,本申请实施例对此并无限制。其中,可通过音频资源调用装置实现对应用程序的音频资源调用,对音频资源调用可以通过音频资源调用装置内置的处理函数进行,以安装了安卓系统的音频资源调用装置为例,在安卓系统中定义了不同种类的函数以实现不同方式的音频资源调用,包括音频的输入输出操作,如音乐播放、通话、语音提示、录音等操作,因此,音频资源调用只需要在使用对应的音频调用函数即可实现该操作。
[0070]
在本申请实施例中,一个或多个应用程序在使用音频资源之前需要先发送调用请求,音频资源调用装置在接收到该应用程序的调用请求后会进行权限确认,若该应用程序具备调用音频资源的权限这允许调用,否则调用失败。现有技术中,在确认可以调用音频资源时,若该音频资源没有被占用,则直接调用该音频资源,若该音频资源已经被占用则自动进行等待,直到上一个应用程序(即音频资源的占用方)已经释放掉该音频资源,因此,现有技术缺少对上一个应用程序使用音频资源的监测机制,导致上一应用程序发生异常占用该音乐资源时不能及时发现及释放音频资源。
[0071]
监测模块32,用于对所述音频资源状态进行监测,若所述音频资源状态为已占用状态,查询所述音频资源对应的占用方信息;
[0072]
在本申请实施例中,创造性地提出了一种全新的监测机制,即:在系统框架层创建监测模块32,通过所述监测模块对所述音频资源状态进行监测,或,监测模块32独立创建监听进程,通过消息传输机制监测所述应用程序的音频资源状态。具体地,监测模块32可通过内置的监听函数对应用程序的音频资源调用进行监听,以安卓系统的音频资源调用装置为例,可在系统框架层(native/framework层)创建监听模块32,通 过监听模块32对所述应用程序的音频模式进行监听,或,监听模块32独立创建监听进程,通过消息传输机制监听所述应用程序的音频模式。例如,可在框架层设立监听模块32并运行在系统服务程序(system_server)中,由于该监听模块32设立在系统级的服务框架层中,可方便与其他系统服务进行交互,同时无需担心系统调用时的权限问题。此外,也可以创建独立的监听进程,在该进程中设立并调用单独的监听函数,可设置为开机自启动,并实时对其他任何一个应用程序的音频资源调用进行监控,具体地,可实时抓取当前调用的音频资源对应应用程序的ID信息、状态信息和/或优先权信息等,以此确定当前调用行为对应的应用程序及其状态,可独立开发,不与系统进行耦合,方便后续的开发和升级。进一步地,监测模块32还可以监测当前调用音频资源的应用程序状态是否正常,若状态异常,或ID信息为空,则认定该应用程序异常占用音频资源,需要对该异常占用的音频资源进行处理。
[0073]
释放模块33,用于若所述占用方信息为空,则释放所述音频资源,以使所述应用程序对所述释放后的音频资源进行调用。
[0074]
占用方即为当前占用了音频资源的一个或多个应用程序,占用方信息即为当前占用方的状态信息或ID信息,若占用方信息为空,即表示当前的占用方状态异常,则输出为空(Null或Error),或没有监测到占用方的信息,输出为空(Null),此时确定该占用方出现异常,即异常占用该音频资源,因此,需要释放模块33释放该音频资源,以使所述应用程序对所述释放后的音频资源进行调用。其中,可通过重启(Reset)操作来释放该音频资源,例如,重启音频管理器以释放所述音频资源,或通过音频释放接口对所述音频资源进行释放,或重启音频系统以释放所述音频资源。另,若所述占用方信息不为空,则确定占用方正常占用了该音频资源,则发送音频资源调用失败响应消息至发送请求的应用程序,禁止该应用程序对所述音频资源进行调用直到该音频资源被正常释放,可选地,此时音频资源调用装置可生成冲突提示消息并显示,供用户查看,并可根据用户的进一步操作,对占用方进行强制关闭或重启,以释放掉该音频资源并供该发送请求的应用程序使用。
[0075]
此外,在本申请实施例中,释放模块33还可以根据应用程序之间的优先级进行音频资源的释放与否。具体地,
[0076]
若所述占用方信息不为空,确定所述占用方及所述应用程序的优先级;
[0077]
若所述应用程序的优先级高于所述占用方优先级,则释放所述音频资源,以供所 述应用程序对所述释放后的音频资源进行调用;
[0078]
若所述应用程序的优先级低于所述占用方优先级,或与所述占用方优先级相同,则禁止所述应用程序对所述音频资源进行调用。
[0079]
需要说明的是,在所述应用程序对所述音频资源进行调用之后,该发送请求的应用程序通过所述音频资源进行录音操作,或通过所述音频资源进行播放操作。
[0080]
本申请实施例中,监测模块32通过对音频资源占用方进行监测,若占用方信息为空则通过释放模块33立即释放该音频资源,为需要调用该音频资源的应用程序进行进一步调用。若占用方信息不为空,可根据优先权信息确定音频资源决定是否调用该音频资源,从而提高了系统的稳定性,提升了用户体验。
[0081]
如图4所示,本申请实施例还提供了一种音频资源调用的装置40,包括:
[0082]
分配模块41,用于为应用程序分配对应的音频资源;
[0083]
分配模块41与上述实施例中的接收模块31不同,分配模块41主动为需要使用该音频资源的应用程序分配或预分配对应的音频资源,该音频资源可以是随机分配,也可以是按照固定阈值进行音频资源的分配。
[0084]
监测模块42,用于在所述应用程序调用所述音频资源时,对所述音频资源状态进行监测;
[0085]
为该应用程序分配了音频资源之后,在应用程序需要调用或开始调用该分配的音频资源时,对该音频资源状态进行监测。其监测过程与上述实施例中监测模块32的监测过程相同,本申请实施例中对此不再累述。
[0086]
释放模块43,用于若所述音频资源状态异常,则释放所述音频资源,以使所述应用程序对所述释放后的音频资源进行调用。
[0087]
音频资源状态异常,即当前音频资源已经被异常占用。在本申请实施例中,若当前音频资源在调用之前已经被占用,且占用方信息为空或异常,则确定当前音频资源状态异常。
[0088]
占用方即为当前占用了音频资源的一个或多个应用程序,占用方信息即为当前占用方的状态信息或ID信息,若占用方信息为空,即表示当前的占用方状态异常,则输出为空(Null或Error),或没有监测到占用方的信息,输出为空(Null),此时确定该占用方出现异常,即异常占用该音频资源,因此,需要释放模块43释放该音频资源,以使所述应用程序对所述释放后的音频资源进行调用。其中,可通过重启(Reset)操作 来释放该音频资源,例如,重启音频管理器以释放所述音频资源,或通过音频释放接口对所述音频资源进行释放,或重启音频系统以释放所述音频资源。另,若所述占用方信息不为空,则确定占用方正常占用了该音频资源,则发送音频资源调用失败响应消息至发送请求的应用程序,禁止该应用程序对所述音频资源进行调用直到该音频资源被正常释放,可选地,此时可生成冲突提示消息并显示,供用户查看,并可根据用户的进一步操作,对占用方进行强制关闭或重启,以释放掉该音频资源并供该发送请求的应用程序使用。
[0089]
其中,释放音频资源,具体可以通过重启音频管理器以释放所述音频资源,或通过音频释放接口对所述音频资源进行释放,或重启音频系统以释放所述音频资源。
[0090]
可选地,若所述音频资源状态为已占用,且占用方信息为空,则释放模块33重启音频系统以释放所述音频资源,或,
[0091]
若所述音频资源状态为已占用,且占用方信息不为空,则分别获取所述应用程序及所述占用方的优先级,若所述应用程序的优先级高于所述占用方优先级,则释放所述音频资源,以供所述应用程序对所述释放后的音频资源进行调用;若所述应用程序的优先级低于所述占用方优先级,或与所述占用方优先级相同,则禁止所述应用程序对所述音频资源进行调用。
[0092]
在所述应用程序对所述音频资源进行调用之后,可通过所述音频资源进行录音操作。
[0093]
本申请实施例中,通过监测模块42调用已分配的音频资源状态,若该状态异常,则通过释放模块43及时释放该音频资源,供应用程序进行后续调用。进一步地,若状态正常,还可以根据优先权决定是否供应用程序进行后续调用,提升了电子设备的稳定性,提高了用户体验。
[0094]
图5为一实施例中电子设备的内部结构示意图。如图5所示,该电子设备包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口、声音采集装置、扬声器、显示屏和输入装置。其中,终端的非易失性存储介质存储有操作系统和计算机可读指令。该计算机可读指令被处理器执行时以实现一种电子设备的音频资源调用方法。该处理器用于提供计算和控制能力,支撑整个电子设备的运行。电子设备中的内存储器为非易失性存储介质中的计算机可读指令的运行提供环境。电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层, 也可以是电子设备外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该电子设备可以是手机、平板电脑或者个人数字助理或穿戴式设备等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0095]
其中,上述提及的音频资源调用方法具体可以为:
[0096]
接收应用程序的音频资源调用请求;
[0097]
对所述音频资源状态进行监测,若所述音频资源状态为已占用状态,查询所述音频资源对应的占用方信息;
[0098]
若所述占用方信息为空,则释放所述音频资源,以使所述应用程序对所述释放后的音频资源进行调用。
[0099]
在其中的一个实施例中,对所述音频资源状态进行监测,具体可以为:在系统框架层创建系统级的监测模块,通过所述监测模块对所述音频资源状态进行监测,或,独立创建监听进程,通过消息传输机制监测所述应用程序的音频资源状态。
[0100]
在其中的一个实施例中,释放所述音频资源,具体可以为:重启音频管理器以释放所述音频资源,或通过音频释放接口对所述音频资源进行释放,或重启音频系统以释放所述音频资源。
[0101]
在其中的一个实施例中,所述处理器还用于执行:
[0102]
若所述占用方信息不为空,发送音频资源调用失败响应消息至所述应用程序,禁止所述应用程序对所述音频资源进行调用。
[0103]
在其中的一个实施例中,所述处理器还用于执行:生成冲突提示消息并显示。
[0104]
在其中的一个实施例中,所述处理器还用于执行:
[0105]
若所述占用方信息不为空,确定所述占用方及所述应用程序的优先级;
[0106]
若所述应用程序的优先级高于所述占用方优先级,则释放所述音频资源,以供所述应用程序对所述释放后的音频资源进行调用;
[0107]
若所述应用程序的优先级低于所述占用方优先级,或与所述占用方优先级相同,则禁止所述应用程序对所述音频资源进行调用。
[0108]
在其中的一个实施例中,在所述应用程序对所述音频资源进行调用之后,所述处理器通过所述音频资源进行录音操作或播放操作。
[0109]
此外,上述提及的音频资源调用方法具体还可以为:
[0110]
为应用程序分配对应的音频资源;
[0111]
在所述应用程序调用所述音频资源时,对所述音频资源状态进行监测;
[0112]
若所述音频资源状态异常,则释放所述音频资源,以使所述应用程序对所述释放后的音频资源进行调用。
[0113]
在其中的一个实施例中,所述对所述音频资源状态进行监测,具体可以为:
[0114]
在系统框架层创建系统级的监测模块,通过所述监测模块对所述音频资源状态进行监测,或,独立创建监听进程,通过消息传输机制监测所述应用程序的音频资源状态。
[0115]
在其中的一个实施例中,所述释放所述音频资源,具体可以为:重启音频管理器以释放所述音频资源,或通过音频释放接口对所述音频资源进行释放,或重启音频系统以释放所述音频资源。
[0116]
在其中的一个实施例中,若所述音频资源状态异常,则释放所述音频资源,具体可以为:
[0117]
若所述音频资源状态为已占用,且占用方信息为空,则重启音频系统以释放所述音频资源,或,
[0118]
若所述音频资源状态为已占用,且占用方信息不为空,则分别获取所述应用程序及所述占用方的优先级,若所述应用程序的优先级高于所述占用方优先级,则释放所述音频资源,以供所述应用程序对所述释放后的音频资源进行调用;若所述应用程序的优先级低于所述占用方优先级,或与所述占用方优先级相同,则禁止所述应用程序对所述音频资源进行调用。
[0119]
其中,在所述应用程序对所述音频资源进行调用之后,该处理器还用于执行:通过所述音频资源进行录音操作。
[0120]
此外,本申请实施例还提供了一种计算机非易失性可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述音频资源调用的步骤。
[0121]
本发明实施例还提供了一种计算机设备。如图6所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机设备可以为包括电子设备、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑、穿戴式 设备等任意终端设备,以计算机设备为电子设备为例:
[0122]
图6为与本发明实施例提供的计算机设备相关的电子设备的部分结构的框图。参考图6,电子设备包括:射频(Radio Frequency,RF)电路610、存储器620、输入单元630、显示单元640、传感器650、音频电路660、无线保真(wireless fidelity,WiFi)模块670、处理器680、以及电源690等部件。本领域技术人员可以理解,图6所示的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0123]
其中,RF电路610可用于收发信息或通话过程中,信号的接收和发送,可将基站的下行信息接收后,给处理器680处理;也可以将上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路610还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
[0124]
存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行电子设备的各种功能应用以及数据处理。存储器620可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能的应用程序、图像播放功能的应用程序等)等;数据存储区可存储根据电子设备的使用所创建的数据(比如音频数据、通讯录等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0125]
输入单元630可用于接收输入的数字或字符信息,以及产生与电子设备600的用户设置以及功能控制有关的键信号输入。具体地,输入单元630可包括触控面板631以及其他输入设备632。触控面板631,也可称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板631 上或在触控面板631附近的操作),并根据预先设定的程式驱动相应的连接装置。在一个实施例中,触控面板631可包括触摸监测装置和触摸控制器两个部分。其中,触摸监测装置监测用户的触摸方位,并监测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸监测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板631。除了触控面板631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)等中的一种或多种。
[0126]
显示单元640可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种菜单。显示单元640可包括显示面板641。在一个实施例中,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板641。在一个实施例中,触控面板631可覆盖显示面板641,当触控面板431监测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图6中,触控面板631与显示面板641是作为两个独立的部件来实现电子设备的输入和输入功能,但是在某些实施例中,可以将触控面板631与显示面板641集成而实现电子设备的输入和输出功能。
[0127]
电子设备600还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板661的亮度,接近传感器可在电子设备移动到耳边时,关闭显示面板661和/或背光。运动传感器可包括加速度传感器,通过加速度传感器可监测各个方向上加速度的大小,静止时可监测出重力的大小及方向,可用于识别电子设备姿态的应用(比如横竖屏切换)、振动识别相关功能(比如计步器、敲击)等;此外,电子设备还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器等。
[0128]
音频电路660、扬声器661和传声器662可提供用户与电子设备之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为 电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路610可以发送给另一电子设备,或者将音频数据输出至存储器620以便后续处理。
[0129]
WiFi属于短距离无线传输技术,电子设备通过WiFi模块670可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了WiFi模块670,但是可以理解的是,其并不属于电子设备600的必须构成,可以根据需要而省略。
[0130]
处理器680是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。在一个实施例中,处理器680可包括一个或多个处理单元。在一个实施例中,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等;调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
[0131]
电子设备600还包括给各个部件供电的电源690(比如电池),优选的,电源可以通过电源管理系统与处理器680逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0132]
在一个实施例中,电子设备600还可以包括摄像头、蓝牙模块等。
[0133]
在本发明实施例中,该计算机设备所包括的处理器680执行存储在存储器上的计算机程序时实现上述各实施例的方法,例如,包括图1或图2所示的音频资源调用的方法。
[0134]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时上述各实施例的方法。
[0135]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合 不存在矛盾,都应当认为是本说明书记载的范围。
[0136]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

权利要求书

[权利要求 1]
一种音频资源调用的方法,其特征在于,包括: 接收应用程序的音频资源调用请求; 对所述音频资源状态进行监测,若所述音频资源状态为已占用状态,查询所述音频资源对应的占用方信息; 若所述占用方信息为空,则释放所述音频资源,以使所述应用程序对所述释放后的音频资源进行调用。
[权利要求 2]
根据权利要求1所述的方法,其特征在于,所述对所述音频资源状态进行监测,包括: 在系统框架层创建系统级的监测模块,通过所述监测模块对所述音频资源状态进行监测,或, 独立创建监听进程,通过消息传输机制监测所述应用程序的音频资源状态。
[权利要求 3]
根据权利要求1所述的方法,其特征在于,所述释放所述音频资源,包括: 重启音频管理器以释放所述音频资源,或通过音频释放接口对所述音频资源进行释放,或重启音频系统以释放所述音频资源。
[权利要求 4]
根据权利要求1所述的方法,其特征在于,所述方法还包括: 若所述占用方信息不为空,发送音频资源调用失败响应消息至所述应用程序,禁止所述应用程序对所述音频资源进行调用。
[权利要求 5]
根据权利要求4所述的方法,其特征在于,所述方法还包括: 生成冲突提示消息并显示。
[权利要求 6]
根据权利要求1所述的方法,其特征在于,所述方法还包括: 若所述占用方信息不为空,确定所述占用方及所述应用程序的优先级; 若所述应用程序的优先级高于所述占用方优先级,则释放所述音频资源,以供所述应用程序对所述释放后的音频资源进行调用; 若所述应用程序的优先级低于所述占用方优先级,或与所述占用方优先级相同,则禁止所述应用程序对所述音频资源进行调用。
[权利要求 7]
根据权利要求1所述的方法,其特征在于,在所述应用程序对所述音频资源进行调用之后,所述方法还包括: 通过所述音频资源进行录音操作。
[权利要求 8]
根据权利要求1所述的方法,其特征在于,在所述应用程序对所述音频资源进行调用之后,所述方法还包括: 通过所述音频资源进行播放操作。
[权利要求 9]
一种音频资源调用的方法,其特征在于,包括: 为应用程序分配对应的音频资源; 在所述应用程序调用所述音频资源时,对所述音频资源状态进行监测; 若所述音频资源状态异常,则释放所述音频资源,以使所述应用程序对所述释放后的音频资源进行调用。
[权利要求 10]
根据权利要求9所述的方法,其特征在于,所述对所述音频资源状态进行监测,包括: 在系统框架层创建系统级的监测模块,通过所述监测模块对所述音频资源状态进行监测,或, 独立创建监听进程,通过消息传输机制监测所述应用程序的音频资源状态。
[权利要求 11]
根据权利要求9所述的方法,其特征在于,所述释放所述音频资源,包括: 重启音频管理器以释放所述音频资源,或通过音频释放接口对所述音频资源进行释放,或重启音频系统以释放所述音频资源。
[权利要求 12]
根据权利要求9所述的方法,其特征在于,若所述音频资源状态异常,则释放所述音频资源,包括: 若所述音频资源状态为已占用,且占用方信息为空,则重启音频系统以释放所述音频资源,或, 若所述音频资源状态为已占用,且占用方信息不为空,则分别获取所述应用程序及所述占用方的优先级,若所述应用程序的优先级高于所述占用方优先级,则释放所述音频资源,以供所述应用程序对所述释放后的音频资源进行调用;若所述应用程序的优先级低于所述占用方优先级,或与所述占用方优先级相同,则禁止所述应用程序对所述音频资源进行调用。
[权利要求 13]
根据权利要求9所述的方法,其特征在于,在所述应用程序对所述音频资源进行调用之后,所述方法还包括: 通过所述音频资源进行录音操作。
[权利要求 14]
一种音频资源调用的装置,其特征在于,所述装置包括: 接收模块,用于接收应用程序的音频资源调用请求; 监测模块,用于对所述音频资源状态进行监测,若所述音频资源状态为已占用状态,查询所述音频资源对应的占用方信息; 释放模块,用于若所述占用方信息为空,则释放所述音频资源,以使所述应用程序对所述音频资源进行调用。
[权利要求 15]
一种音频资源调用的装置,其特征在于,所述装置包括: 分配模块,用于为应用程序分配对应的音频资源; 监测模块,用于在所述应用程序调用所述音频资源时,对所述音频资源状态进行监测; 释放模块,用于在所述音频资源状态异常时,则释放所述音频资源,以使所述应用程序对所述释放后的音频资源进行调用。
[权利要求 16]
一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,其特征在于,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-8中任一项所述的音频资源调用的步骤。
[权利要求 17]
一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,其特征在于,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求9-13中任一项所述的音频资源调用的步骤。
[权利要求 18]
一种计算机非易失性可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的音频资源调用的步骤。
[权利要求 19]
一种计算机非易失性可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求9-13中任一项所述的音频资源调用的步骤。

附图

[ 图 1]  
[ 图 2]  
[ 图 3]  
[ 图 4]  
[ 图 5]  
[ 图 6]