CN116931867A - 调度音频设备的方法、装置、设备、存储介质和程序产品 - Google Patents
调度音频设备的方法、装置、设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN116931867A CN116931867A CN202210355675.2A CN202210355675A CN116931867A CN 116931867 A CN116931867 A CN 116931867A CN 202210355675 A CN202210355675 A CN 202210355675A CN 116931867 A CN116931867 A CN 116931867A
- Authority
- CN
- China
- Prior art keywords
- service
- mode
- audio
- accessed
- important
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000004590 computer program Methods 0.000 claims description 23
- 230000000977 initiatory effect Effects 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 13
- 230000010365 information processing Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/162—Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请提供一种调度音频设备的方法、装置、设备、存储介质和程序产品,可有效地对社交类应用的多个异构音频服务进行音频设备调度,包括:在第一服务以第一模式占用音频设备后,拦截第二服务关于第二模式的音频模式调用请求;在第二服务为未接入服务时,拦截掉第二服务关于第二模式的音频模式调用请求;在第二服务为已接入服务、第一模式为非重要音频模式且第一服务为未接入服务时,释放拦截的音频模式调用请求;若音频模式调用请求的第二模式属于重要音频模式,在第一模式属于重要音频模式时,拦截掉第二服务关于第二模式的音频模式调用请求;在第一模式不属于重要音频模式时,释放拦截的第二服务关于第二模式的音频模式调用请求。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种调度音频设备的方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术的发展,出现了各类应用,比如社交类应用、协同办公类应用等等。为了扩展应用的功能,每个应用可以集成多个服务,这些服务例如视频会议、直播和语音通话等。
服务在运行过程中,可以基于用户需求,使用扬声器和收音器等音频设备。传统的音频设备调度方案是针对不同应用之间的,而针对集成在同一应用的多个音频异构服务之间的音频设备调度,尚无可行性较高的方案。
发明内容
基于此,有必要针对上述技术问题,提供一种调度音频设备的方法、装置、计算机设备、存储介质和计算机程序产品。
本申请提供了一种调度音频设备的方法,所述方法包括:
在目标应用中的第一服务以第一模式占用音频设备后,通过目标应用的中心调度器,记录所述第一服务的服务信息,所述服务信息至少包括所述第一服务占用音频设备所采用的第一模式;所述中心调度器用于在所述目标应用的多个音频异构服务之间进行音频调度,所述多个音频异构服务包括已接入所述中心调度器的已接入服务和未接入所述中心调度器的未接入服务;
通过所述中心调度器,拦截第二服务关于第二模式的音频模式调用请求;
若所述音频模式调用请求中的第二模式属于非重要音频模式,则查询是否在拦截到所述音频模式调用请求之前接收到携带所述第二模式的音频设备占用申请,根据查询结果确定所述第二服务为已接入服务或未接入服务;
在所述第二服务为未接入服务时,拦截掉所述第二服务关于第二模式的音频模式调用请求;在所述第二服务为已接入服务、所述第一模式属于非重要音频模式且所述第一服务为未接入服务时,释放拦截的所述第二服务关于第二模式的音频模式调用请求;
若所述音频模式调用请求中的第二模式属于重要音频模式,则在所述第一模式属于重要音频模式时,拦截掉所述第二服务关于第二模式的音频模式调用请求;在所述第一模式不属于重要音频模式时,释放拦截的所述第二服务关于第二模式的音频模式调用请求。
本申请提供了一种调度音频设备的装置,所述装置包括:
服务信息保存模块,用于在目标应用中的第一服务以第一模式占用音频设备后,通过目标应用的中心调度器,记录所述第一服务的服务信息,所述服务信息至少包括所述第一服务占用音频设备所采用的第一模式;所述中心调度器用于在所述目标应用的多个音频异构服务之间进行音频调度,所述多个音频异构服务包括已接入所述中心调度器的已接入服务和未接入所述中心调度器的未接入服务;
拦截模块,用于通过所述中心调度器,拦截第二服务关于第二模式的音频模式调用请求;若所述音频模式调用请求中的第二模式属于非重要音频模式,则查询是否在拦截到所述音频模式调用请求之前接收到携带所述第二模式的音频设备占用申请,根据查询结果确定所述第二服务为已接入服务或未接入服务;
调度模块,用于在所述第二服务为未接入服务时,拦截掉所述第二服务关于第二模式的音频模式调用请求;在所述第二服务为已接入服务、所述第一模式属于非重要音频模式且所述第一服务为未接入服务时,释放拦截的所述第二服务关于第二模式的音频模式调用请求;
所述调度模块,还用于若所述音频模式调用请求中的第二模式属于重要音频模式,则在所述第一模式属于重要音频模式时,拦截掉所述第二服务关于第二模式的音频模式调用请求;在所述第一模式不属于重要音频模式时,释放拦截的所述第二服务关于第二模式的音频模式调用请求。
在一个实施例中,所述拦截模块,还用于通过所述中心调度器,提取所述音频模式调用请求中携带的所述第二模式;在所述第二模式为非共存模式的情况下,当所述第二模式属于第一类模式集合时,确定所述第二模式属于重要音频模式,当所述第二模式属于第二类模式集合时,确定所述第二模式属于非重要音频模式;其中,使用所述第一类模式集合中的音频模式的服务,是重要度高于使用第二类模式集合中的音频模式的服务。
在一个实施例中,所述拦截模块,还用于根据拦截到的所述音频模式调用请求中携带的第二模式,查询在拦截到所述音频模式调用请求之前是否接收到关于所述第二模式的音频设备占用申请;基于查询到关于所述第二模式的音频设备占用申请以及所述音频设备占用申请中携带的服务标识,确定第二服务为已接入服务;基于未查询到关于所述第二模式的音频设备占用申请,确定发起所述音频模式调用请求的第二服务为未接入服务。
在一个实施例中,所述装置还包括:
服务类型确定模块,用于读取记录的所述第一服务的服务信息;若所述服务信息还包括所述第一服务的服务标识,则确定所述第一服务为已接入所述中心调度器的已接入服务;若所述第一服务的服务信息仅包括所述第一模式,则确定所述第一服务为未接入所述中心调度器的未接入服务。
在一个实施例中,所述调度模块,还用于在所述第二模式属于非重要音频模式、所述第二服务为已接入服务时,读取所述第一服务的服务信息得到所述第一模式;当所述第一模式属于非重要音频模式时,查询所述第一服务的服务信息以确定所述第一服务为已接入所述中心调度器的已接入服务或未接入所述中心调度器的未接入服务;当所述第一服务为未接入服务时,释放拦截的所述第二服务关于第二模式的音频模式调用请求,为属于已接入服务的第二服务按所述第二模式占用音频设备。
在一个实施例中,所述调度模块,还用于当所述第一模式属于非重要音频模式、且所述第一服务为已接入服务时,拦截掉所述第二服务关于第二模式的音频模式调用请求,保留为先于所述第二服务发起请求的所述第一服务占用音频设备;当所述第一模式属于重要音频模式,拦截掉所述第二服务关于第二模式的音频模式调用请求,保留为使用重要音频模式的所述第一服务占用音频设备。
在一个实施例中,所述调度模块,还用于在释放拦截的所述第二服务关于第二模式的音频模式调用请求之后,按所述第二模式为所述第二服务占用音频设备,并更新所述中心调度器记录的当前占用音频设备的模式信息。
在一个实施例中,所述拦截模块,还用于在所述第二服务为已接入服务时,通过所述中心调度器,接收所述第二服务发起的携带第二服务的服务标识和所述第二模式的音频设备占用申请,在所述中心调度器允许所述音频设备占用申请之后,使所述第二服务发起关于第二模式的音频模式调用请求,以拦截到第二服务关于第二模式的音频模式调用请求;
所述拦截模块,还用于在所述第二服务为未接入服务时,通过所述中心调度器,在未接收到所述第二服务发起的关于所述第二模式的音频设备占用申请的情况下,直接拦截到第二服务关于第二模式的音频模式调用请求。
在一个实施例中,所述装置还包括:
申请判决模块,用于在所述第二服务为已接入服务时,通过所述中心调度器,读取所述中心调度器中记录的关于所述第一服务的服务信息得到第一模式;当所述音频设备占用申请中的第二模式与所述第一模式表征所述第二服务与所述第一服务共同占用音频设备时,则允许所述第二服务关于第二模式的音频设备占用申请。
在一个实施例中,所述申请判决模块,还用于当所述第二模式或所述第一模式表征所述第二服务与所述第一服务独立占用音频设备时,则当所述服务信息指示所述第一服务为未接入服务时,则允许所述第二服务关于所述第二模式的音频设备占用申请;
所述申请判决模块,还用于当所述第二模式或所述第一模式表征所述第二服务与所述第一服务独立占用音频设备时,则当所述服务信息指示所述第一服务为已接入服务时,比较所述第一服务与所述第二服务的优先级,根据比较结果允许或驳回所述第二服务关于第二模式的音频设备占用申请;
所述申请判决模块,还用于在所述中心调度器驳回所述第二服务关于第二模式的音频设备占用申请之后,禁止所述第二服务发起关于第二模式的音频模式调用请求。
在一个实施例中,所述装置还包括:
启动判决模块,用于在所述第二服务为未接入服务且所述第二服务启动运行时,通过所述中心调度器,预测所述第二服务占用音频设备的音频模式;读取所述中心调度器中记录的所述第一服务的服务信息;当所述服务信息指示所述第一服务为未接入服务,且所述第一模式与预测的音频模式均属于重要音频模式时,禁止所述第二服务启动运行;当预测的所述音频模式不属于重要音频模式或者所述第一模式不属于重要音频模式时,允许所述第二服务启动运行,并在未向所述中心调度器发起关于所述第二模式的音频设备占用申请的情况下,直接发起关于第二模式的音频模式调用请求。
在一个实施例中,所述启动判决模块,还用于在属于未接入服务的所述第二服务启动时,获取所述第二服务的服务标识;获取预估的未接入服务和占用音频设备的音频模式之间的映射关系;根据所述预估的映射关系,预测所述第二服务占用音频设备的音频模式。
本申请提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行以下步骤:
在目标应用中的第一服务以第一模式占用音频设备后,通过目标应用的中心调度器,记录所述第一服务的服务信息,所述服务信息至少包括所述第一服务占用音频设备所采用的第一模式;所述中心调度器用于在所述目标应用的多个音频异构服务之间进行音频调度,所述多个音频异构服务包括已接入所述中心调度器的已接入服务和未接入所述中心调度器的未接入服务;
通过所述中心调度器,拦截第二服务关于第二模式的音频模式调用请求;
若所述音频模式调用请求中的第二模式属于非重要音频模式,则查询是否在拦截到所述音频模式调用请求之前接收到携带所述第二模式的音频设备占用申请,根据查询结果确定所述第二服务为已接入服务或未接入服务;
在所述第二服务为未接入服务时,拦截掉所述第二服务关于第二模式的音频模式调用请求;在所述第二服务为已接入服务、所述第一模式属于非重要音频模式且所述第一服务为未接入服务时,释放拦截的所述第二服务关于第二模式的音频模式调用请求;
若所述音频模式调用请求中的第二模式属于重要音频模式,则在所述第一模式属于重要音频模式时,拦截掉所述第二服务关于第二模式的音频模式调用请求;在所述第一模式不属于重要音频模式时,释放拦截的所述第二服务关于第二模式的音频模式调用请求。
本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以下步骤:
在目标应用中的第一服务以第一模式占用音频设备后,通过目标应用的中心调度器,记录所述第一服务的服务信息,所述服务信息至少包括所述第一服务占用音频设备所采用的第一模式;所述中心调度器用于在所述目标应用的多个音频异构服务之间进行音频调度,所述多个音频异构服务包括已接入所述中心调度器的已接入服务和未接入所述中心调度器的未接入服务;
通过所述中心调度器,拦截第二服务关于第二模式的音频模式调用请求;
若所述音频模式调用请求中的第二模式属于非重要音频模式,则查询是否在拦截到所述音频模式调用请求之前接收到携带所述第二模式的音频设备占用申请,根据查询结果确定所述第二服务为已接入服务或未接入服务;
在所述第二服务为未接入服务时,拦截掉所述第二服务关于第二模式的音频模式调用请求;在所述第二服务为已接入服务、所述第一模式属于非重要音频模式且所述第一服务为未接入服务时,释放拦截的所述第二服务关于第二模式的音频模式调用请求;
若所述音频模式调用请求中的第二模式属于重要音频模式,则在所述第一模式属于重要音频模式时,拦截掉所述第二服务关于第二模式的音频模式调用请求;在所述第一模式不属于重要音频模式时,释放拦截的所述第二服务关于第二模式的音频模式调用请求。
本申请提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现以下步骤:
在目标应用中的第一服务以第一模式占用音频设备后,通过目标应用的中心调度器,记录所述第一服务的服务信息,所述服务信息至少包括所述第一服务占用音频设备所采用的第一模式;所述中心调度器用于在所述目标应用的多个音频异构服务之间进行音频调度,所述多个音频异构服务包括已接入所述中心调度器的已接入服务和未接入所述中心调度器的未接入服务;
通过所述中心调度器,拦截第二服务关于第二模式的音频模式调用请求;
若所述音频模式调用请求中的第二模式属于非重要音频模式,则查询是否在拦截到所述音频模式调用请求之前接收到携带所述第二模式的音频设备占用申请,根据查询结果确定所述第二服务为已接入服务或未接入服务;
在所述第二服务为未接入服务时,拦截掉所述第二服务关于第二模式的音频模式调用请求;在所述第二服务为已接入服务、所述第一模式属于非重要音频模式且所述第一服务为未接入服务时,释放拦截的所述第二服务关于第二模式的音频模式调用请求;
若所述音频模式调用请求中的第二模式属于重要音频模式,则在所述第一模式属于重要音频模式时,拦截掉所述第二服务关于第二模式的音频模式调用请求;在所述第一模式不属于重要音频模式时,释放拦截的所述第二服务关于第二模式的音频模式调用请求。
上述调度音频设备的方法、装置、计算机设备、存储介质和计算机程序产品,针对集成在目标应用中的多个音频异构服务,按是否接入了目标应用的中心调度器而分为已接入服务与未接入服务,在目标应用中某个的第一服务占用音频设备的情况下,对于第二服务,不管是已接入服务或未接入服务,在需要占用音频设备时,都会发起音频模式调用请求,但由于请求不携带服务标识,无从得知是哪个服务发起的,那么,通过中心调度器,拦截第二服务关于第二模式的音频模式调用请求,以进行音频设备的调度,具体地:
若该请求中的第二模式是非重要音频模式,那么表示发起该请求的第二服务是重要度不那么高的服务,此时进一步通过查询是否在拦截到该请求之前,接收到过携带第二模式的音频设备占用申请,以确定第二服务的服务类型;在第二服务为未接入服务且使用非重要音频模式时,其使用音频设备的优先级最低,那么直接拦截掉该请求,继续让第一服务使用音频设备;在第二服务为已接入服务且使用非重要音频模式时,仅当第一服务属于使用非重要音频模式的未接入服务时,其对音频设备的使用权才会直接让渡给第二服务;
若该请求中的第二模式属于重要音频模式,表示发起该请求的第二服务是重要度高的服务,则在所述第一模式也属于重要音频模式时,拦截掉所述第二服务关于第二模式的音频模式调用请求,继续让第一服务使用音频设备;在所述第一模式不属于重要音频模式时,释放拦截的所述第二服务关于第二模式的音频模式调用请求,共同保证重要服务对音频设备的优先使用权。
这样,可以保证在重要音频模式与非重要音频模式之间,优先为使用重要音频模式的重要服务分配音频设备,在已接入服务与未接入服务之间,已接入服务的优先级高于未接入服务,在两个重要服务之间,先使用的服务继续使用音频设备,从而实现了基于服务重要度、服务类型以及请求时间,共同调度音频设备,可以保证,重要的未接入服务能够顺利抢占非重要音频模式,并不被其它重要任务打断,非重要的未接入服务只有在不存在其它服务占用音频设备的情况下,才能真正占用音频设备,实现在多个异构音频服务之间合理调度音频设备。
附图说明
图1为一个实施例中调度音频设备的方法的应用环境图;
图2为一个实施例中调度音频设备的方法的流程示意图;
图3为一个实施例中两个已接入服务之间的协调流程示意图;
图4为一个实施例中对已接入服务进行调度的示意图;
图5为一个实施例中对未接入服务进行协调的流程示意图;
图6为一个实施例中中心调度器拦截音频模式设置接口后的协调流程示意图;
图7为一个实施例中完整的协调流程示意图;
图8为一个实施例中禁止使用直播服务的界面示意图;
图9为一个实施例中调度音频设备的装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。需要说明的是,本申请介绍涉及的“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
图1为本申请提供的调度音频设备的方法的应用环境图。其中,终端102与服务器104通过通信网络进行通信。其中,终端102可以通过通信网络与服务器104进行交互;终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群或云服务器来实现。数据存储系统可以集成在服务器104中,也可以与服务器104分开设置。
下面对本申请实施例所提出方案的背景进行介绍:
终端上支持音频功能的设备,统一称为音频设备,包括麦克风、扬声器等。对于终端上运行的目标应用,其可以集成多个服务。通常,该目标应用中的多个服务,各自关于何时使用音频设备、何时释放音频设备是相互闭环的、互不通知的,这些服务由于相互独立使用音频设备,可以称之为多个异构音频系统,这些服务称之为音频异构服务。相关技术中,对于如何为该多个音频异构服务调度音频设备,所采用的方式是,通常是先请求先使用的分配方式,后请求的直接被驳回,这种方式无法保证重要服务的优先使用。
而本申请中,在目标应用中实现了中心调度器,中心调度器用于在目标应用的多个音频异构服务之间进行音频调度,在多个音频异构服务之间确定哪个服务使用音频设备。通过实现中心调度器,各个接入了中心调度器的服务,在使用音频设备之前向中心调度器发出申请,通过向中心调度器申请,由中心调度器根据各个服务的服务类型的优先级进行分配,打破多个服务之间关于调用音频设备的闭环。
例如,在一个实施例中,当在目标应用中,接入了中心调度器的第一服务以第一模式占用音频设备后,中心调度器将会记录第一服务的服务信息,包括第一服务的服务标识和第一服务占用音频设备的模式信息。若接入了中心调度器的第二服务,此时想使用音频设备,则会先向中心调度器发出携带服务标识与音频模式的音频设备占用申请,中心调度器在接收到该申请后,提取其中的第二服务的服务标识,读取记录的第一服务的服务信息的第一服务的服务标识,根据两者之间的服务标识,以及预设的服务标识之间的优先级关系,比较第一服务与第二服务之间的优先级,若第一服务的优先级更高,则保留按第一模式为第一服务占用音频设备,若第二服务的优先级更高,则按第二模式为第二服务占用音频设备。可选地,服务的优先级可以按需进行设置,中心调度器可维护一份目标应用中接入了该中心调度器的各个音频异构服务之间的优先级列表。可选地,保留按第一模式为第一服务占用音频设备,具体可以是,驳回第二服务的音频设备占用申请,禁止第二服务调用音频模式设置接口;可选地,按第二模式为第二服务占用音频设备,具体可以是,结束第一服务使用音频设备后,允许第二服务按该第二模式调用音频模式设置接口,发起音频模式调用请求。
这样,实现了通过中心调度器在目标应用中,对接入了该中心调度器的多个音频异构服务之间,按照服务的优先级进行音频调度,在多个音频异构服务之间确定哪个服务使用音频设备。
进一步地,当目标应用中还存在未接入该中心调度器的音频异构服务时,这些服务无法与中心调度器进行交互,在使用音频设备之前不会向中心调度器发出音频设备占用申请,使得中心调度器无法明确是哪个未接入服务调用了音频模式设置接口,在第一服务以第一模式占用音频设备的情况下,通过让中心调度器拦截每个关于调用音频模式设置接口的请求,即音频模式调用请求,根据拦截到的请求中,音频模式是否为重要服务使用的重要模式,从而确定该第二服务是否为重要服务,再结合第一服务、第二服务的服务类型,第一服务的第一模式与第二服务请求的第二模式,共同判决后调度音频设备,以保证一些重要服务不被打断或优先为重要服务分配音频设备。
此外,在某个服务占用音频设备后,该服务的服务信息将会存放或更新到中心调度器,用于与后续新的请求占用音频设备的服务信息进行比较,重新分配音频设备。若该服务是已接入服务,其服务信息包括服务标识和占用音频设备的模式信息,若该服务是未接入服务,其服务信息仅包括占用音频设备的模式信息。
在一个实施例中,如图1所示,终端102可以预装有目标应用以及在目标应用中的中心调度器,该目标应用可以集成多个音频异构服务,音频异构服务包括已接入中心调度器的已接入服务和未接入中心调度器的未接入服务;中心调度器用于在目标应用的多个音频异构服务之间进行音频调度。在目标应用中的第一服务以第一模式占用音频设备后,通过目标应用的中心调度器,记录第一服务的服务信息,服务信息至少包括第一服务占用音频设备所采用的第一模式;通过中心调度器,拦截第二服务关于第二模式的音频模式调用请求;若音频模式调用请求中的第二模式属于非重要音频模式,则查询是否在拦截到音频模式调用请求之前接收到携带第二模式的音频设备占用申请,根据查询结果确定第二服务为已接入服务或未接入服务;在第二服务为未接入服务时,拦截掉第二服务关于第二模式的音频模式调用请求;在第二服务为已接入服务、第一模式属于非重要音频模式且第一服务为未接入服务时,释放拦截的第二服务关于第二模式的音频模式调用请求;若音频模式调用请求中的第二模式属于重要音频模式,则在第一模式属于重要音频模式时,拦截掉第二服务关于第二模式的音频模式调用请求;在第一模式不属于重要音频模式时,释放拦截的第二服务关于第二模式的音频模式调用请求。
图2为一个实施例中调度音频设备的方法的流程示意图,以该方法由终端102执行为例进行说明;该方法包括以下步骤:
步骤S202,在目标应用中的第一服务以第一模式占用音频设备后,通过目标应用的中心调度器,记录第一服务的服务信息,服务信息至少包括第一服务占用音频设备所采用的第一模式;中心调度器用于在目标应用的多个音频异构服务之间进行音频调度,多个音频异构服务包括已接入中心调度器的已接入服务和未接入中心调度器的未接入服务。
目标应用可以是社交类应用、协同办公类应用等。目标应用可以集成多个服务,这些服务可以是涉及音频设备使用的服务,例如视频会议、直播、语音通话等服务。模式是服务占用音频设备的模式,例如独占使用音频设备模式(可以简称为独占模式)、后台播放模式、录音模式、播放和录音模式(该模式下,可以录音也可以播放)、混音播放模式(该模式下,可以和其他应用同时播放)、多种输入输出模式(该模式下,可以利用多个扬声器播放音频,也可以利用多个收音器采集音频)、硬件解码音频模式(该模式下,不能播放和录音)。
本申请实施例中,在目标应用中实现了中心调度器;集成在目标应用的多个服务中,部分服务已接入中心调度器、部分服务未接入中心调度器,集成在目标应用的多个服务可以看作是音频异构服务;中心调度器用于在目标应用的多个服务之间进行音频调度,以确定哪个服务使用音频设备。
本申请中的已接入服务为已接入该中心调度器的服务,针对已接入服务,当已接入服务要使用音频设备时,需要先发出音频设备占用申请,也就是将自身的服务标识和所要用的音频模式报告给中心调度器,然后,已接入服务调用操作系统的音频模式设置接口,将其自身所要用的模式传入音频模式设置接口,发起音频模式调用请求;接着,中心调度器拦截该音频模式调用请求,得到其中携带的第二模式;当该请求的接收时间与上述音频设备占用申请的接收时间之间的间隔时长较短,且拦截得到的音频模式调用请求中携带的模式与音频设备占用申请的模式一致时,中心调度器可以确定拦截得到的模式是由发起该音频设备占用申请已接入服务发起的。
本申请中的未接入服务为未接入中心调度器的服务,相较于未接入服务而言,未接入服务未被改造,那么未接入服务在调用音频模式设置接口之前不会向中心调度器报告未接入服务的服务标识和所要用的模式,而是直接调用音频模式设置接口,中心调度器拦截音频模式调用请求得到第二模式后,由于在此前较短的一段时长内,没有收到携带该第二模式的音频设备占用申请,因此,可以确定该请求是未接入服务发起的。
本申请中的第一服务,是目标应用中当前正以第一模式占用音频设备的服务,本申请中的第二服务,是在第一服务以第一模式占用音频设备的情况下,想要请求占用音频设备的服务。在目标应用中的第一服务以第一模式占用音频设备后,终端可以通过中心调度器保存第一服务的服务信息;若第一服务为已接入服务,该服务信息包括第一服务的服务标识和第一服务报告给中心调度器的模式;若第一服务为未接入服务,该服务信息仅包括当前第一服务占用音频设备所采用的第一模式,该第一模式可以是中心调度器拦截音频模式设置接口得到的;因此,不论第一服务为已接入服务还是未接入服务,通过中心调度器保存的第一服务的服务信息至少包括第一服务占用音频设备采用的第一模式。
基于已接入服务的服务信息包括服务标识这一特性,在一个实施例中,终端可以读取记录的第一服务的服务信息;若服务信息还包括第一服务的服务标识,则确定第一服务为已接入中心调度器的已接入服务;若第一服务的服务信息仅包括第一模式,则确定第一服务为未接入中心调度器的未接入服务。
上述实施例中,基于第一服务的服务信息是否包括服务标识,判断第一服务是否为已接入服务,提高已接入服务的识别准确性,以便后续采用相应的音频设备调度方式,实现在多个异构音频服务之间合理调度音频设备。
步骤S204,通过中心调度器,拦截第二服务关于第二模式的音频模式调用请求。
音频模式调用请求可以是服务向操作系统提供的音频模式设置接口发出的,服务发出音频模式调用请求的具体方式可以是服务调用操作系统提供的音频模式设置接口,并向该音频模式设置接口传入该服务所要用的音频模式。
第二模式为中心调度器从音频模式设置接口中拦截得到的音频模式,至于向音频模式设置接口传入该第二模式的第二服务是已接入服务,还是未接入服务,可以通过步骤S206所说的方式判断。
在一个实施例中,在拦截第二服务关于第二模式的音频模式调用请求之后,终端还可以通过中心调度器,提取音频模式调用请求中携带的第二模式;在第二模式为非共存模式的情况下,当第二模式属于第一类模式集合时,确定第二模式属于重要音频模式,当第二模式属于第二类模式集合时,确定第二模式属于非重要音频模式;其中,使用第一类模式集合中的音频模式的服务,是重要度高于使用第二类模式集合中的音频模式的服务。
为了在未接入服务发起音频模式调用请求,在无法确定是哪个未接入业务发起的请求的情况下,通过该请求中携带的音频模式是否属于重要音频模式来间接表征该未接入服务是否要重要服务,以实现最终优先保证一些重要服务不被打断或优先为重要服务分配音频设备,本申请实施例将目标应用中的各个音频异构服务所使用的音频模式,按使用该模式的服务的重要性,划分为重要音频模式和非重要音频模式。
具体而言,目标应用中一些重要的服务(可以是已接入服务,也可以是未接入服务)使用的音频模式可以看作是重要音频模式,一些不重要的服务使用的音频模式可以看作是非重要音频模式;基于重要的服务使用的音频模式形成第一类模式集合,基于不重要的服务使用的音频模式形成第二类模式集合;其中,使用第一类模式集合中的音频模式的服务的重要度高于使用第二类模式集合中的音频模式的服务。
在一个实施例中,在对重要的各服务使用的音频模式进行统计分析后,若确定重要的服务一般使用同一种音频模式,那么,可以仅将该种音频模式作为重要音频模式,也即第一类模式集合中仅包括一个重要音频模式;当然,在重要的各服务使用的音频模式不是使用同一种音频模式的情况下,第一类模式集合包括的重要音频模式的数量为多个。
不同音频模式之间具有共存还是不共存的特性,共存的两种音频模式可以被操作系统同时设置到音频设备上,而不共存的两种音频模式中,只有其中一种音频模式可以被操作系统设置到音频设备上。
本申请中,可以通过中心调度器提取音频模式调用中携带的第二模式,也即拦截音频模式设置接口,得到传入音频模式设置接口的第二模式;若该第二模式属于非共存的模式,则表征第二模式和第一模式中,只能有其中一个音频模式二被设置到音频设备上。在此情况下,可以将该第二模式与第一类模式集合包括的重要音频模式进行匹配,若匹配结果表征第二模式与其中一个重要音频模式匹配,则确定该第二模式为重要音频模式,也即,向传入音频模式设置接口的第二模式的第二服务较大可能是重要的服务;若匹配结果表征第二模式与第一类模式集合中的每一个重要音频模式都不匹配,或第二模式与第二类模式集合中的其中一个非重要音频模式匹配,则确定该第二模式为非重要音频模式,也即,向传入音频模式设置接口的第二模式的第二服务较大可能是不重要的服务。
上述实施例中,在拦截到第二服务关于第二模式的音频模式调用请求后,在第二模式为不共存的模式的情况下,判断第二模式是否为重要音频模式,进而确定相应的第二服务是否为重要的服务,从服务的重要度这一方面进行音频设备的调度,进而保证重要服务对音频设备的优先使用权。
步骤S206,若音频模式调用请求中的第二模式属于非重要音频模式,则查询是否在拦截到音频模式调用请求之前接收到携带第二模式的音频设备占用申请,根据查询结果确定第二服务为已接入服务或未接入服务。
至于第二服务是已接入服务还是未接入服务,由于已接入服务在调用音频模式设置接口之前,会向中心调度器发出音频设备占用申请,然后调用音频模式设置接口并向该音频模式设置接口传入该已接入服务自身所要用的音频模式,而未接入服务不会向中心调度器发出音频设备占用申请,未接入服务直接调用音频模式设置接口并向该音频模式设置接口传入该已接入服务自身所要用的音频模式。
基于这一特性,在一个实施例中,在判断向音频模式设置接口传入第二模式的第二服务是已接入服务还是未接入服务时,可以根据拦截到的音频模式调用请求中携带的第二模式,查询在拦截到音频模式调用请求之前是否接收到关于第二模式的音频设备占用申请;基于查询到关于第二模式的音频设备占用申请以及音频设备占用申请中携带的服务标识,确定第二服务为已接入服务;基于未查询到关于第二模式的音频设备占用申请,确定发起音频模式调用请求的第二服务为未接入服务。
具体来说,终端可以通过中心调度器,查询在此前较短时段内是否收到过携带着第二模式的音频设备占用申请;当查询结果表征收到过该携带着第二模式的音频设备占用申请时,则确定第二服务是已接入服务,并且,还可以将该音频设备占用申请携带的服务标识作为该第二服务的服务标识,以便在第一服务也为已接入服务的情况下,基于服务标识比较第一服务和第二服务之间的优先级;当查询结果表征没有收到过携带着第二模式的音频设备占用申请时,则确定第二服务是未接入服务。
上述实施例中,基于已接入服务会向中心调度器发出音频设备占用申请,而未接入服务不会向中心调度器发出音频设备占用申请的这一特性,识别第二服务是已接入服务还是未接入服务,进而使用相应的音频设备调度方式,实现在多个异构音频服务之间合理调度音频设备。
步骤S208,在第二服务为未接入服务时,拦截掉第二服务关于第二模式的音频模式调用请求;在第二服务为已接入服务、第一模式属于非重要音频模式且第一服务为未接入服务时,释放拦截的第二服务关于第二模式的音频模式调用请求。
本申请中,按照“(重要音频模式+未接入服务)=(重要音频模式+已接入服务)>(非重要音频模式+已接入服务)>(非重要音频模式+未接入服务)”的方式,调度各服务对音频设备的使用。
在传入音频模式设置接口的第二模式为非重要音频模式且第二服务为未接入服务时,该第二服务以第二模式使用音频设备是优先级最低的,且由于该使用音频设备优先级最低的第二服务要使用音频的时间晚于第一服务要使用音频设备的时间,因此,不论第一服务是已接入服务还是未接入服务,第一服务的第一模式是重要音频模式还是非重要音频模式,在第二服务调用音频模式设置接口并传入第二模式后,中心调度器可以调用音频模式设置接口删除掉该第二服务传入的第二模式,以真正地拦截掉该第二服务关于第二模式的音频模式调用请求,不让操作系统以第二模式设置音频设备,避免第二服务以第二模式使用音频设备。
在传入音频模式设置接口的第二模式为非重要音频模式且第二服务为已接入服务时,此时,可以判断第一服务是已接入还是未接入服务,以及第一服务的第一模式是重要音频模式还是非重要音频模式;当第一服务是未接入服务,第一模式是非重要音频模式时,由于该第一服务以第一模式使用音频设备的优先级低于第二服务以第二模式使用音频设备的优先级,因此,中心调度器可以释放拦截的第二服务关于第二模式的音频模式调用请求,也即中心调度器不调用音频模式设置接口删除该第二服务传入的第二模式,让操作系统以第二模式设置音频设备,使得第二服务可以以第二模式使用音频设备。
在一个实施例中,在第二模式属于非重要音频模式、第二服务为已接入服务时,终端可以读取第一服务的服务信息得到第一模式;当第一模式属于非重要音频模式时,查询第一服务的服务信息以确定第一服务为已接入中心调度器的已接入服务或未接入中心调度器的未接入服务;当第一服务为未接入服务时,释放拦截的第二服务关于第二模式的音频模式调用请求,为属于已接入服务的第二服务按第二模式占用音频设备。
若第一服务为已接入服务,那么第一服务的服务信息包括第一服务自身的服务标识以及第一服务所用的第一模式。在第二模式属于非重要音频模式以及第二服务为已接入服务时,终端可以读取第一服务的服务信息得到第一模式,可以将第一模式与第二类模式集合中的非重要音频模式进行匹配,以确定第一模式是否属于非重要音频模式;当第一模式属于非重要音频模式时,终端可以查询第一服务的服务信息,判断第一服务的服务信息未包括服务标识,若第一服务的服务信息未包括服务标识,则确定第一服务属于未接入服务。
按照“(重要音频模式+未接入服务)=(重要音频模式+已接入服务)>(非重要音频模式+已接入服务)>(非重要音频模式+未接入服务)”的方式,在第一服务属于未接入服务以及第一模式为非重要音频模式、第二服务为已接入服务以及第二模式为非重要音频模式的情况下,第一服务以第一模式使用音频设备的优先级低于第二服务以第二模式使用音频设备的优先级,因此,终端可以释放拦截到的第二服务关于第二模式的音频模式调用请求,为属于已接入服务的第二服务按第二模式占用音频设备。
上述实施例中,在第一服务属于未接入服务以及第一模式为非重要音频模式、第二服务为已接入服务以及第二模式为非重要音频模式得到情况下,释放拦截到的第二服务关于第二模式的音频模式调用请求,为属于已接入服务的第二服务按第二模式占用音频设备,实现在多个异构音频服务之间合理调度音频设备。
在一个实施例中,当第一模式属于非重要音频模式、且第一服务为已接入服务时,终端可以拦截掉第二服务关于第二模式的音频模式调用请求,保留为先于第二服务发起请求的第一服务占用音频设备;当第一模式属于重要音频模式,拦截掉第二服务关于第二模式的音频模式调用请求,保留为使用重要音频模式的第一服务占用音频设备。
在第一服务属于已接入服务以及第一模式为非重要音频模式、第二服务为已接入服务以及第二模式为非重要音频模式的情况下,按照“(重要音频模式+未接入服务)=(重要音频模式+已接入服务)>(非重要音频模式+已接入服务)>(非重要音频模式+未接入服务)”的方式,第一服务以第一模式使用音频设备的优先级和第二服务以第二模式使用音频设备的优先级一样,但考虑到第一服务已经正在以第一模式使用音频设备,也即第一服务先于第二服务发起占用音频设备的请求,因此,终端可以拦截掉第二服务关于第二模式的音频模式调用请求,保留为先于第二服务发起请求的第一服务占用音频设备。在第一服务的第一模式为重要音频模式、第二服务的第二模式为非重要音频模式的情况下,按照“(重要音频模式+未接入服务)=(重要音频模式+已接入服务)>(非重要音频模式+已接入服务)>(非重要音频模式+未接入服务)”的方式,无论第一服务是已接入服务还是未接入服务,也无论第二服务是已接入服务还是未接入服务,第一服务以第一模式占用音频设备的优先级高于第二服务以第二模式占用音频设备的优先级,因此,终端可以拦截掉第二服务关于第二模式的音频模式调用请求,保留为重要音频模式的第一服占用音频设备。
上述实施例中,当第一模式属于非重要音频模式、且第一服务为已接入服务时,可以拦截掉第二服务关于第二模式的音频模式调用请求,确保先发起请求的第一服务可以继续占用音频设备,不被第二服务干扰,实现在多个异构音频服务之间合理调度音频设备;当第一模式属于重要音频模式,拦截掉第二服务关于第二模式的音频模式调用请求,保留为使用重要音频模式的第一服务占用音频设备,确保重要的服务使用音频设备,避免不重要的服务干扰重要服务对音频设备的使用。
步骤S210,若音频模式调用请求中的第二模式属于重要音频模式,则在第一模式属于重要音频模式时,拦截掉第二服务关于第二模式的音频模式调用请求;在第一模式不属于重要音频模式时,释放拦截的第二服务关于第二模式的音频模式调用请求。
在按照“(重要音频模式+未接入服务)=(重要音频模式+已接入服务)>(非重要音频模式+已接入服务)>(非重要音频模式+未接入服务)”的这一方式,调度各服务对音频设备的使用的情况下:
在传入音频模式设置接口的第二模式为重要音频模式且第二服务为未接入服务时,若第一服务的第一模式为重要音频模式,表征第一服务和第二服务同为重要的服务,此时,可以优先保证先使用音频设备的第一服务继续使用,因此,可以拦截掉第二服务关于第二模式的音频模式调用请求,中心调度器可以调用音频模式设置接口删除掉该第二服务传入的第二模式,以真正地拦截掉该第二服务关于第二模式的音频模式调用请求,不让操作系统以第二模式设置音频设备,避免第二服务以第二模式使用音频设备。
在传入音频模式设置接口的第二模式为重要音频模式且第二服务为未接入服务时,若第一服务的第一模式为非重要音频模式,表征第二服务的重要度高于第一服务的重要度,此时,可以释放拦截的第二服务关于第二模式的音频模式调用请求,也即中心调度器不调用音频模式设置接口删除该第二服务传入的第二模式,让操作系统以第二模式设置音频设备,使得第二服务可以以第二模式使用音频设备。
另外,在第二服务为已接入服务且第一服务也为已接入服务时,则可以按照第二服务和第一服务之间的优先级,确定由哪个服务使用音频设备,无需借助基于音频模式的重要性而确定服务的重要性,来确定哪个服务使用音频设备。
上述调度音频设备的方法中,针对集成在目标应用中的多个音频异构服务,按是否接入了目标应用的中心调度器而分为已接入服务与未接入服务,在目标应用中某个的第一服务占用音频设备的情况下,对于第二服务,不管是已接入服务或未接入服务,在需要占用音频设备时,都会发起音频模式调用请求,但由于请求不携带服务标识,无从得知是哪个服务发起的,那么,通过中心调度器,拦截第二服务关于第二模式的音频模式调用请求,以进行音频设备的调度,具体地:若该请求中的第二模式是非重要音频模式,那么表示发起该请求的第二服务是重要度不那么高的服务,此时进一步通过查询是否在拦截到该请求之前,接收到过携带第二模式的音频设备占用申请,以确定第二服务的服务类型;在第二服务为未接入服务且使用非重要音频模式时,其使用音频设备的优先级最低,那么直接拦截掉该请求,继续让第一服务使用音频设备;在第二服务为已接入服务且使用非重要音频模式时,仅当第一服务属于使用非重要音频模式的未接入服务时,其对音频设备的使用权才会直接让渡给第二服务;若该请求中的第二模式属于重要音频模式,表示发起该请求的第二服务是重要度高的服务,则在第一模式也属于重要音频模式时,拦截掉第二服务关于第二模式的音频模式调用请求,继续让第一服务使用音频设备;在第一模式不属于重要音频模式时,释放拦截的第二服务关于第二模式的音频模式调用请求,共同保证重要服务对音频设备的优先使用权。
这样,可以保证在重要音频模式与非重要音频模式之间,优先为使用重要音频模式的重要服务分配音频设备,在已接入服务与未接入服务之间,已接入服务的优先级高于未接入服务,在两个重要服务之间,先使用的服务继续使用音频设备,从而实现了基于服务重要度、服务类型以及请求时间,共同调度音频设备,可以保证,重要的未接入服务能够顺利抢占非重要音频模式,并不被其它重要任务打断,非重要的未接入服务只有在不存在其它服务占用音频设备的情况下,才能真正占用音频设备,实现在多个异构音频服务之间合理调度音频设备。
在一个实施例中,在释放拦截的第二服务关于第二模式的音频模式调用请求之后,终端还可以按第二模式为第二服务占用音频设备,并更新中心调度器记录的当前占用音频设备的模式信息。
终端可以通过中心调度器记录当前占用音频设备的服务正在以何种模式进行占用,也即记录当前占用音频设备的模式信息。示例性地,当前第一服务以第一模式占用音频设备,那么终端可以通过中心调度器记录第一服务和第一模式,形成当前占用音频设备的模式信息。
在释放拦截到的第二服务关于第二模式的音频模式调用请求后,第二服务以第二模式使用音频设备,相应地,终端可以通过中心调度器记录第二服务和第二模式,以更新中心调度器记录的当前占用音频设备的模式信息。
上述实施例中,通过中心调度器实时记录当前占用音频设备的模式信息,以供后续音频设备的调度,实现在多个异构音频服务之间合理调度音频设备。
在一个实施例中,在第二服务为已接入服务时,终端可以通过中心调度器,接收第二服务发起的携带第二服务的服务标识和第二模式的音频设备占用申请,在中心调度器允许音频设备占用申请之后,使第二服务发起关于第二模式的音频模式调用请求,以拦截到第二服务关于第二模式的音频模式调用请求;在第二服务为未接入服务时,终端可以通过中心调度器,在未接收到第二服务发起的关于第二模式的音频设备占用申请的情况下,直接拦截到第二服务关于第二模式的音频模式调用请求。
由于已接入服务要使用音频设备时,需要先发出音频设备占用申请,也就是将自身的服务标识和所要用的音频模式报告给中心调度器,然后,已接入服务调用操作系统的音频模式设置接口,将其自身所要用的模式传入音频模式设置接口,发起音频模式调用请求;因此,当第二服务为已接入服务时,第二服务要使用音频设备时,第二服务可以向中心调度器发出音频设备占用申请,该音频设备占用申请携带着第二服务的服务标识和第二模式的音频设备占用申请,也即终端可以通过中心调度器接收到第二服务发起的携带第二服务的服务标识和第二模式的音频设备占用申请;接着,第二服务调用操作系统的音频模式设置接口,将其自身所要用的模式传入音频模式设置接口,发起音频模式调用请求,进而终端可以通过中心调度器拦截到第二服务关于第二模式的音频模式调用请求。
由于未接入服务在调用音频模式设置接口之前不会向中心调度器报告未接入服务的服务标识和所要用的模式,而是直接调用音频模式设置接口,也即未接入服务要使用音频设备时,不会向中心调度器发出音频设备占用申请,而是直接发起音频模式调用请求,因此,在第二服务为未接入服务的时候,终端可以通过中心调度器,在未接收到第二服务发起的关于第二模式的音频设备占用申请的情况下,直接拦截到第二服务关于第二模式的音频模式调用请求。
上述实施例中,当第二服务为已接入服务时,第二服务要使用音频设备时,可以先向中心调度器发出音频设备占用申请,后发起音频模式调用请求,通过第二服务主动发起的音频设备占用申请,以使中心调度器基于第二服务主动发起的音频设备占用申请获知第二服务要使用音频设备,以实现在多个异构音频服务之间合理调度音频设备。当第二服务为未接入服务时,第二服务要使用音频设备时,不会先向中心调度器发出音频设备占用申请,而是直接发起音频模式调用请求,中心调度器可以通过服务当前的运行情况确定第二服务,以实现在多个异构音频服务之间合理调度音频设备。
在一个实施例中,在第二服务为已接入服务时,终端还可以通过中心调度器,读取中心调度器中记录的关于第一服务的服务信息得到第一模式;当音频设备占用申请中的第二模式与第一模式表征第二服务与第一服务共同占用音频设备时,则允许第二服务关于第二模式的音频设备占用申请。
具体地,在第二服务为已接入服务时,终端可以通过中心调度器独权中心调度器记录的第一服务的服务信息,得到第一服务的第一模式,当第一模式和第二模式属于共存的模式时,表征第一服务和第二服务可以共同使用音频设备,因此,允许第二服务关于第二模式的音频设备占用申请,进而可以调用音频模式设置接口以发出音频模式调用请求。
上述实施例中,如果第二服务是已接入服务,第二服务向中心调度器发出音频设备占用申请后,如果第一服务的第一模式和第二服务的第二模式属于共存的模式,那么,可以允许第二服务关于音频设备占用申请,进而让第二服务调用音频模式设置接口以发出音频模式调用请求,实现可以共同使用音频设备的多个异构音频服务之间的音频设备调度。
在一个实施例中,当第二模式或第一模式表征第二服务与第一服务独立占用音频设备时,则当服务信息指示第一服务为未接入服务时,允许第二服务关于第二模式的音频设备占用申请,当服务信息指示第一服务为已接入服务时,比较第一服务与第二服务的优先级,根据比较结果允许或驳回第二服务关于第二模式的音频设备占用申请;在中心调度器驳回第二服务关于第二模式的音频设备占用申请之后,禁止第二服务发起关于第二模式的音频模式调用请求。
在第二模式或第一模式表征第二服务和第一服务独立占用音频设备时,也即第二模式和第一模式是非共存的模式,那么中心调度器可以按下面情况确定是否允许第二服务关于第二模式的音频设备占用申请。
具体地,当第一服务的服务信息指示第一服务为未接入服务时,在第二服务为已接入服务的情况下,终端可以允许第二服务关于第二模式的音频设备占用申请,以让第二服务调用音频模式设置接口发起音频模式调用请求进而进入步骤S206至步骤S210的仲裁流程,以协调多个异构音频服务之间的音频设备的使用。
在第一服务的服务信息指示第一服务为已接入服务时,在第二服务为已接入服务的情况下,终端可以基于第一服务和第二服务各自的服务标识,比较第一服务和第二服务之间的优先级,如果第二服务的优先级高于第一服务的优先级,则允许第二服务关于第二模式的音频设备占用申请,以让第二服务调用音频模式设置接口发起音频模式调用请求,进而进入步骤S206至步骤S210的仲裁流程,以协调多个异构音频服务之间的音频设备的使用;如果第二服务的优先级低于第一服务的优先级,则驳回第二服务关于第二模式的音频设备占用申请,禁止第二服务发起关于第二模式的音频模式调用请求。
上述实施例中,在第一服务和第二服务独立占用音频设备的情况下,按照上述请求确定是允许第二服务关于第二模式的音频设备占用申请,还是驳回第二服务关于第二模式的音频设备占用申请;在允许时,通过步骤S206至步骤S210的仲裁流程进行调度,实现多个异构音频服务之间就音频设备使用的调度;在驳回时,禁止第二服务发起关于第二模式的音频模式调用请求,无需通过步骤S206至步骤S210的仲裁流程进行调度,提高调度效率。
在一个实施例中,在第二服务为未接入服务且第二服务启动运行时,终端可以通过中心调度器,预测第二服务占用音频设备的音频模式;读取中心调度器中记录的第一服务的服务信息;当服务信息指示第一服务为未接入服务,且第一模式与预测的音频模式均属于重要音频模式时,禁止第二服务启动运行;当预测的音频模式不属于重要音频模式或者第一模式不属于重要音频模式时,允许第二服务启动运行,并在未向中心调度器发起关于第二模式的音频设备占用申请的情况下,直接发起关于第二模式的音频模式调用请求。
如果第一服务和第二服务均为未接入服务,且第一服务所用的音频模式和第二服务所用的音频模式为重要音频模式且不共存,由于第一服务先于第二服务启动,因此,优先保证第一服务继续对音频设备的使用。在第一服务启动且还未以第一模式使用音频设备的过程中,如果第二服务也启动,那么后续音频模式设置接口被调用,中心调度器拦截到音频模式调用请求时,难以通过服务的运行情况,预测该音频模式调用请求是由第一服务发出的,还是由第二服务发出的,因此,在第一服务启动且还未以第一模式使用音频设备的过程中,如果第二服务也启动,会干扰第一服务对音频设备的使用。
基于此,本实施例中,在第二服务为未接入服务且第二服务启动时,通过中心调度器预测第二服务占用音频设备的音频模式,并读取中心调度器记录的第一服务的服务信息,当第一服务的服务信息指示第一服务为未接入服务,且第一服务所用的第一模式和预测的第二服务将要用的音频模式均属于重要音频模式时,可以禁止第二服务运行,在第二服务启动后关闭第二服务。
另外,当第一服务和第二服务为未接入服务,且第一服务所用的第一模式或预测的第二服务将要用的音频模式不属于重要音频模式时,此时,不会出现上述第二服务的启动对第一服务形成干扰的情况,因此,在第二服务启动后,可以允许第二服务继续运行,并在未向中心调度器发起关于第二模式的音频设备占用申请的情况下,直接发起关于第二模式的音频模式调用请求。
上述实施例中,当第一服务和第二服务为未接入服务,且第一服务所用的第一模式或预测的第二服务将要用的音频模式属于重要音频模式时,为优先保证第一服务继续对音频设备的使用,避免第二服务度第一服务的干扰,可以禁止第二服务运行,实现在多个异构音频服务之间就音频设备使用的调度;另外,当第一服务和第二服务为未接入服务,且第一服务所用的第一模式或预测的第二服务将要用的音频模式不属于重要音频模式时,无需禁止第二服务的运行,,实现在多个异构音频服务之间就音频设备使用的调度。
在一个实施例中,在属于未接入服务的第二服务启动时,终端可以获取第二服务的服务标识;获取预估的未接入服务和占用音频设备的音频模式之间的映射关系;根据预估的映射关系,预测第二服务占用音频设备的音频模式。
其中,针对未接入服务,可以通过询问或调试的方式,确定各未接入服务通常使用的音频模式,并建立未接入服务和各自通常使用的音频模式之间的映射关系。
在属于未接入服务的第二服务启动时,可以获取第二服务的服务标识,获取预估的未接入服务和占用音频设备的音频模式之间的映射关系;根据预估的映射关系,预测第二服务占用音频设备的音频模式。
上述实施例中,通过预估的未接入服务和占用音频设备的音频模式之间的映射关系,预测第二服务将要使用的音频模式,进而采取相应的调度流程,实现在多个异构音频服务之间就音频设备使用的调度。
为了更好地理解上述方法,以下详细阐述一个本申请调度音频设备的方法的应用实施例。
本应用实施例可以在多个服务之间,就音频设备的使用问题进行协调,确定使用音频设备的服务;在确定使用音频设备的服务后,让操作系统按照该服务所要用的音频模式对音频设备进行设置,以使该服务可以按照其所要用的音频模式使用音频设备。
上述提及的音频模式包括但不限于:
上述提及的服务包括但不限于:音频播放、带音频的视频播放视频会议、语音通话、直播、录音、混音播放(如播放背景音或音效)等。在操作系统定义了混音播放模式可以和其他涉及播放音频的音频模式(如播放和录音模式)共存,其他音频模式之间是非共存的。比如,在使用语音通话这一服务的过程中,由于语音通话所用的音频模式和其他音频模式不共存,因此,如果使用录音服务,语音通话服务就会被中断。因此,需要在服务之间,就音频设备的使用问题进行协调。
在需协调的服务源于不同应用的情况下,可以在应用级别上进行协调,比如,第一应用使用音频设备的优先级高于第二应用使用音频设备的优先级,因此,在协调时,优先让第一应用的服务使用音频设备,第二应用的服务次之。
在需协调的服务源于同一应用的情况下,难以在应用级别上进行协调,此时,可以在服务级别上进行协调。但是,对操作系统来说,源于同一应用的各服务在使用音频设备这一方面,优先级是一样的,操作系统难以进行协调。基于此,可以在应用中设置一个中心调度器,由中心调度器,对该应用的各服务进行协调。
在应用中设置中心调度器之后,可以对集成于该应用的服务进行改造,将服务接入中心调度器;其中,部分服务可能在预设时长内未完成改造,也即未接入中心调度器。被改造的服务可以称为已接入服务,未被改造的服务可以称为未接入服务。
已接入服务要用音频设备时,会先向中心调度器发起音频设备占用申请,该音频设备占用申请是关于该已接入服务将要以哪种音频模式使用音频设备,该音频设备占用申请具体可以携带该已接入服务的服务标识和该已接入服务所要用的音频模式。在发起音频设备占用申请后的较短时间内,该已接入服务调用操作系统提供的音频模式设置接口,将该已接入服务所要用的音频模式传入该音频模式设置接口,以发起音频模式设置请求;接着,中心调度器拦截音频模式设置接口,得到音频模式设置请求的传入该音频模式设置接口的音频模式;中心调度器通过上述拦截,得到音频模式设置请求的传入该音频模式设置接口的音频模式后,在音频模式设置请求的传入该音频模式设置接口的音频模式与音频设备占用申请携带的音频模式一致的情况下,中心调度器可以认为该音频模式是发起上述音频设备占用申请的已接入服务设置的,并存储音频模式设置请求的传入该音频模式设置接口的音频模式和该已接入服务的服务标识之间的对应关系。
未接入服务要用音频设备时,调用音频模式设置接口之前,不会向中心调度器发起音频设备占用申请。未接入服务调用音频模式设置接口,以发起音频模式设置请求;未接入服务向音频模式设置接口传入该未接入服务所要用的音频模式后;中心调度器拦截音频模式设置接口,得到音频模式设置请求的传入音频模式设置接口的音频模式后,由于此前或此前较短时间内未收到音频设备占用申请,因此,中心调度器可以确定音频模式设置请求的传入音频模式设置接口的音频模式是未接入服务设置的。
在中心调度器协调来源于同一应用的各服务时,考虑到各服务的改造情况不同,有些服务完成改造,有些服务未完成改造,以下就可能出现的各种情况进行介绍,以每种情况中需协调的服务的数量为两个进行介绍。
以需协调的服务为第一服务和第二服务,且第一服务先于第二服务启动为例,进行介绍:
一、第一服务和第二服务均为已接入服务:
针对各已接入服务,可以存储各已接入服务在使用音频设备的优先级方面的优先级配置表,若在使用音频设备方面,第一服务的优先级高于第二服务的优先级,那么中心调度器可以优先保证第一服务对音频设备的使用。
1、
参照图3,图3为一个实施例中两个已接入服务之间的协调流程示意图。步骤S302,第一服务按照其自身的音频模式使用音频设备的过程中,当第二服务要使用音频设备时,向中心调度器发起音频设备占用申请,该音频设备占用申请携带第二服务的服务标识和第二服务要用的音频模式;中心调度器收到音频设备占用申请后,步骤S304,判断第二服务要用的音频模式和第一服务当前用的音频模式是否共存。
步骤S306,若第二服务要用的音频模式和第一服务当前用的音频模式共存,则中心调度器允许第二服务调用音频模式设置接口以发出音频模式设置请求,以让操作系统增加设置第二服务所要用的音频模式,使得第一服务和第二服务可以按照各自的音频模式共同使用音频设备。另外,中心调度器可以增加记录信息,以记录第一服务和第二服务当前按照各自的音频模式,共同使用音频设备。
若第二服务要用的音频模式和第一服务当前用的音频模式不共存,则中心调度器基于优先级配置表,进入步骤S308,判断第二服务的优先级是否高于第一服务的优先级。
中心调度器确定在使用音频设备这一方面,第二服务的优先级高于第一服务的优先级后,进入步骤S310,允许第二服务调用音频模式设置接口以发出音频模式设置请求,以让操作系统将当前设置的第一服务的音频模式更新为第二服务所要用的音频模式,使得第一服务暂停占用音频设备,第二服务可以按照其自身所要用的音频模式独占使用音频设备。另外,中心调度器可以更新记录信息,以记录第二服务当前按照其自身的音频模式,独占使用音频设备。中心调度器还可以通知第一服务,让第一服务知道自身的音频设备的使用过程被中断,以使第一服务可以基于被中断的情况,提示用户是否要在不占用音频设备的情况下继续使用第一服务。
中心调度器确定在使用音频设备这一方面,第二服务的优先级低于第一服务的优先级后,进入步骤S312,禁止第二服务调用音频模式设置接口以禁止发起音频模式设置请求。
另外,若中心调度器确定在使用音频设备这一方面,第一服务的优先级高于第二服务的优先级后,禁止第二服务调用音频模式设置接口,以避免操作系统将当前设置的第一服务的音频模式更新为第二服务的音频模式,干扰第一服务对音频设备的独占使用。另外,中心调度器可以通知第二服务,让第二服务知道自身无法占用音频设备,以使第二服务可以基于无法占用音频设备的情况,提示用户是否要在不占用音频设备的情况下继续使用第二服务。
在需协调的服务均为已接入服务的场景中,当各已接入服务要使用音频设备的时候,在各已接入服务调用操作系统提供的音频模式设置接口以让操作系统设置音频模式之前,向中心调度器发出音频设备占用申请,以向中心调度器报告已接入服务自身将要使用音频设备,因此,中心调度器可以在已接入服务调用音频模式设置接口之前,基于各已接入服务在使用音频设备的优先级方面上的优先级高低,进行协调,实现服务之间就音频设备使用这一问题的调度。
参照图4,图4为一个实施例中对已接入服务进行调度的示意图。各已接入服务可以向中心调度器发起音频设备占用申请或音频设备释放申请,中心调度器存储当前占用音频设备的各服务信息,优先级配置系统存储各已接入服务之间的优先级,操作系统的混音模块可以进行混音设置。
在一些场景中,需协调的服务既包括已接入服务,也包括未接入服务,当未接入服务要使用音频设备时,在未接入服务调用操作系统提供的音频模式设置接口以让操作系统设置音频模式之前不会向中心调度器发出音频设备占用申请,因此中心调度器难以在未接入服务调用音频模式设置接口之前进行协调。
对此,为对未接入服务就音频设备的使用进行调度,可以在集成于该应用的各服务调用音频模式设置接口的步骤之后,中心调度器拦截音频模式设置接口,让中心调度器的拦截处于对各服务对音频模式设置接口的调用链之后。
中心调度器拦截音频模式设置接口后,如果传入音频模式设置接口的第二模式是来源于已接入服务,那么中心调度器可以基于已接入服务的音频设备占用申请,较为明确地确定该第二模式来源于哪个已接入服务;如果传入音频模式设置接口的第二模式是来源于未接入服务,中心调度器可以基于服务的运行情况等方式,预测该音频模式来源于哪个未接入服务,基于服务的运行情况等方式,预测传入音频模式设置接口的第二模式的准确性,相较于基于已接入服务自己发出的音频设备占用申请这一方式确定传入音频模式设置接口的第二模式的准确性,较低。
在此情况下,可以进行适当的体验降级,保证一些重要的未接入服务对音频设备的使用,这些重要的未接入服务一般使用同种音频模式,这种音频模式可以称为重要的音频模式,处于较高优先级。
可以通过询问或调试的方式,确定各未接入服务通常使用的音频模式,建立未接入服务和其通常使用的音频模式之间的映射关系,并确定各未接入服务通常使用的音频模式是重要的音频模式,还是非重要的音频模式。
二、第一服务为未接入服务且第二服务为已接入服务:
在第一服务以第一模式使用音频设备的过程中,第二服务启动后,第二服务要用音频设备时,可以直接调用音频模式设置接口;中心调度器拦截音频模式设置接口,得到传入音频模式设置接口的第二模式后,判断传入音频模式设置接口的第二模式与当前使用的第一模式是否共存;若共存,则让操作系统增加传入音频模式设置接口的第二模式,使得第一服务和第二服务可以按照各自的音频模式共同使用音频设备;若不共存,则查询在拦截前的较短时间内是否收到过音频设备占用申请。
若中心调度器收到过音频设备占用申请,且该音频设备占用申请中的音频模式与传入音频模式设置接口的第二模式一致,则中心调度器可以确定传入音频模式设置接口的音频模式来源于该音频设备占用申请中的服务标识对应的服务(设该服务标识与第二服务对应)。
若第二模式为重要音频模式,且第一服务所用的第一模式属于非重要音频模式,则可以让操作系统按照第二服务的第二模式进行设置,以让第二服务使用音频设备。
若第一服务所用的第一模式属于重要音频模式,由于第一服务已经先于第二服务使用音频设备,因此,不论第二服务的音频模式是重要音频模式还是非重要音频模式,均不让操作系统按照第二服务的第二模式进行设置,禁止第二服务使用音频设备,以免干扰第一服务对音频设备的使用。
若第二模式和第一模式均为非重要音频模式,那么,由于第一服务为未接入服务且第二服务为已接入服务,因此,可以优先保证第二服务以第二模式使用音频设备。
三、第一服务为已接入服务且第二服务为未接入服务:
在第一服务以第一模式使用音频设备的过程中,第二服务启动后,第二服务要用音频设备时,可以直接调用音频模式设置接口;中心调度器拦截音频模式设置接口,得到传入音频模式设置接口的第二模式后,判断传入音频模式设置接口的第二模式与当前使用的第一模式是否共存;若共存,则让操作系统增加传入音频模式设置接口的第二模式,使得第一服务和第二服务可以按照各自的音频模式共同使用音频设备;若不共存,则查询在拦截前的较短时间内是否收到过音频设备占用申请。
若中心调度器未收到过音频设备占用申请,在当前仅有一个未接入服务运行的情况下,中心调度器可以确定传入音频模式设置接口的第二模式来源于当前运行的属于未接入服务的第二服务。
若第一模式属于非重要音频模式且第二模式属于重要音频模式,则可以让操作系统按照第二模式对音频设备进行设置,以让第二使用音频设备。
若第一模式和第二模式均属于重要音频模式,由于第一服务已经先于第二服务使用音频设备,因此,不论第二服务的音频模式是重要音频模式还是非重要音频模式,均不让操作系统按照第二服务的第二模式进行设置,禁止第二服务使用音频设备,以免干扰第一服务对音频设备的使用。
四、第一服务和第二服务均为未接入服务:
需说明的是,在已有一个属于未接入服务的第一服务运行的情况下,当第二服务启动时,若预测到该第二服务将要用的音频模式为重要音频模式,那么,可以禁止第二服务继续运行,以免在中心调度器未收到过音频设备占用申请且传入音频模式设置接口的音频模式属于重要音频模式的情况下,中心调度器难以通过未接入服务的运行状态进行预测,难以预测传入音频模式设置接口的音频模式来源于哪个未接入服务。
可以理解的是,在已有一个未接入服务运行的情况下,若该未接入服务的音频模式为重要音频模式,那么,后续若有其他对应于非重要音频模式的未接入服务启动,由于非重要音频模式和重要音频模式不一样,因此,可以允许其他对应于非重要音频模式的未接入服务继续运行,不会对中心调度器的预测形成干扰。
参照图5,图5为一个实施例中对未接入服务进行协调的流程示意图。
步骤S502,第二服务启动;步骤S504,在第二服务启动后,中心调度器预测该第二服务将要用的音频模式是否为重要音频模式;步骤S508,若该第二服务的音频模式是重要音频模式,则判断当前是否有其他服务以重要音频模式使用音频设备,或者,在该未接入服务启动前已有其他对应于重要音频模式的未接入服务运行;步骤S510,若是,则禁止该第二服务运行,步骤S512,若否,则允许该第二服务运行并服务调用音频模式设置接口设置音频模式,发出音频模式设置请求;若该第二服务的音频模式为非重要音频模式,则允许该第二服务运行,也允许该第二服务调用音频模式设置接口设置音频模式,发出音频模式设置请求。
在第一服务和第二服务均为未接入服务的情况下,当其中一个服务的音频模式为非重要音频模式,另一个服务的音频模式为重要音频模式,那么,可以优先保证对应于重要音频模式的未接入服务使用音频设备。具体地,在第一服务以第一模式使用音频设备的情况下,中心调度器拦截音频模式设置接口的音频模式调用请求,得到音频模式调用请求的第二模式后,若该第二模式为重要音频模式,那么,则释放拦截到的音频模式调用请求以让第二服务以第二模式使用音频设备。
在第一服务和第二服务均为未接入服务的情况下,当其中一个服务的音频模式为非重要音频模式,另一个服务的音频模式为重要音频模式,那么,可以优先保证对应于重要音频模式的未接入服务使用音频设备。具体地,在第一服务以第一模式使用音频设备的情况下,中心调度器拦截音频模式设置接口的音频模式调用请求,得到音频模式调用请求的第二模式后,若第一模式为重要音频模式且第二模式为非重要音频模式,那么,则可以拦截掉音频模式调用请求以禁止让第二服务以第二模式使用音频设备,并继续让第一服务以第一模式使用音频设备。
在第一服务和第二服务均为未接入服务的情况下,当两个服务的音频模式均为非重要音频模式,那么,可以先发出音频模式设置请求的服务使用音频设备。
参照图6,图6为一个实施例中中心调度器拦截音频模式设置接口后的协调流程示意图。
步骤S602,中心调度器拦截音频模式设置接口的音频模式设置请求,得到音频模式设置请求中的第二模式;
步骤S604,中心调度器判断第一模式和第二模式是否共存;
若共存,则中心调度器让操作系统进行混音设置;
步骤S606,若不共存,则判断第二音频模式是否为重要音频模式;
若第二模式是重要音频模式,则进入步骤S608,中心调度器则判断第二模式对应的第二服务是否为未接入服务;以及,步骤S610,判断第一模式对应的第一服务是否为未接入服务;
若第二服务和第一服务均为未接入服务,则进入步骤S612,判断第一模式是否为重要音频模式;若第一模式为非重要音频模式,则释放关于第二模式的音频模式设置请求,若第一模式是重要音频模式,则拦截掉关于第二模式的音频模式设置请求;
若第二服务不是未接入服务,且第一服务不是未接入服务,则进入步骤S614,基于优先级配置系统存储的优先级配置表,判断第一服务的优先级是否高于第二服务的优先级;若第一服务的优先级高于第二服务的优先级,则拦截掉关于第二模式的音频模式设置请求,若第一服务的优先级低于第二服务的优先级,则释放关于第二模式的音频模式设置请求;
若第二模式为非重要音频模式,则进入步骤S616,判断当前是否有其他服务以重要音频模式使用音频设备,或者,在第二服务启动前已有其他对应于重要音频模式的未接入服务运行;若当前有其他服务以重要音频模式使用音频设备,或者,在第二服务启动前已有其他对应于重要音频模式的未接入服务运行,则拦截掉关于第二模式的音频模式设置请求;
若当前没有其他服务以重要音频模式使用音频设备,且在该第二启动前没有其他对应于重要音频模式的未接入服务运行,则进入步骤S618,判断第二服务是否为未接入服务;若第二服务是未接入服务,则进入步骤S620,判断是否有其他服务正在使用音频设备,或者,其他未接入服务正在运行;若有其他服务正在使用音频设备,或者,其他未接入服务正在运行,则拦截掉关于第二模式的音频模式设置请求;若没有其他服务正在使用音频设备,也没有其他未接入服务正在运行,则释放关于第二模式的音频模式设置请求。
参照图7,图7为一个实施例中完整的协调流程示意图,包括如下步骤:
当第一服务和第二服务属于已接入服务时,主要包括如下步骤:
步骤S702,第一服务按照其自身的音频模式使用音频设备的过程中,当第二服务要使用音频设备时,向中心调度器发起音频设备占用申请,该音频设备占用申请携带第二服务的服务标识和第二服务要用的音频模式;
中心调度器收到音频设备占用申请后,步骤S704,判断第二服务要用的音频模式和第一服务当前用的音频模式是否共存。
若第二服务要用的音频模式和第一服务当前用的音频模式不共存,则中心调度器基于优先级配置表,进入步骤S706,判断第二服务的优先级是否高于第一服务的优先级。
中心调度器确定第二服务的优先级高于第一服务的优先级后,进入步骤S708,允许第二服务调用音频模式设置接口以发出音频模式设置请求,以让操作系统将当前设置的第一服务的音频模式更新为第二服务所要用的音频模式,使得第一服务暂停占用音频设备,第二服务可以按照其自身所要用的音频模式独占使用音频设备。
当第二服务属于未接入服务时,主要包括如下步骤:
步骤S710,第二服务启动;
步骤S712,在第二服务启动后,中心调度器预测该第二服务将要用的音频模式是否为重要音频模式;
步骤S714,若该第二服务的音频模式是重要音频模式,则判断当前是否有其他服务以重要音频模式使用音频设备,或者,在该未接入服务启动前已有其他对应于重要音频模式的未接入服务运行;
步骤S5716,若是,则禁止该第二服务运行;
步骤S718,若否,则允许该第二服务运行并服务调用音频模式设置接口设置音频模式,发出音频模式设置请求;
若该第二服务的音频模式为非重要音频模式,则允许该第二服务运行,也允许该第二服务调用音频模式设置接口设置音频模式,发出音频模式设置请求。
关于中心调度器的仲裁流程:
步骤S720,中心调度器拦截音频模式设置接口的音频模式设置请求,得到音频模式设置请求中的第二模式;
步骤S722,中心调度器判断第一模式和第二模式是否共存;
若共存,则中心调度器让操作系统进行混音设置;
步骤S724,若不共存,则判断第二音频模式是否为重要音频模式;
若第二模式是重要音频模式,则进入步骤S726,中心调度器则判断第二模式对应的第二服务是否为未接入服务;以及,步骤S728,判断第一模式对应的第一服务是否为未接入服务;
若第二服务和第一服务均为未接入服务,则进入步骤S730,判断第一模式是否为重要音频模式;若第一模式为非重要音频模式,则释放关于第二模式的音频模式设置请求,若第一模式是重要音频模式,则拦截掉关于第二模式的音频模式设置请求;
若第二服务不是未接入服务,且第一服务不是未接入服务,则进入步骤S732,基于优先级配置系统存储的优先级配置表,判断第一服务的优先级是否高于第二服务的优先级;若第一服务的优先级高于第二服务的优先级,则拦截掉关于第二模式的音频模式设置请求,若第一服务的优先级低于第二服务的优先级,则释放关于第二模式的音频模式设置请求;
若第二模式为非重要音频模式,则进入步骤S734,判断当前是否有其他服务以重要音频模式使用音频设备,或者,在第二服务启动前已有其他对应于重要音频模式的未接入服务运行;若当前有其他服务以重要音频模式使用音频设备,或者,在第二服务启动前已有其他对应于重要音频模式的未接入服务运行,则拦截掉关于第二模式的音频模式设置请求;
若当前没有其他服务以重要音频模式使用音频设备,且在该第二启动前没有其他对应于重要音频模式的未接入服务运行,则进入步骤S736,判断第二服务是否为未接入服务;
若第二服务是未接入服务,则进入步骤S738,判断是否有其他服务正在使用音频设备,或者,其他未接入服务正在运行;若有其他服务正在使用音频设备,或者,其他未接入服务正在运行,则拦截掉关于第二模式的音频模式设置请求;若没有其他服务正在使用音频设备,也没有其他未接入服务正在运行,则释放关于第二模式的音频模式设置请求。
参照图8,图8为一个实施例中禁止使用直播服务的界面示意图;按照上述协调方式协调后,若当前已在通话,那么禁止直播服务使用音频设备,并展示相应的提示信息。
经过上述方式的协调,可以达到总体优先级:(重要音频模式+未接入服务)=(重要音频模式+已接入服务)>(非重要音频模式+已接入服务)>(非重要音频模式+未接入服务)。上述总体优先级具体来说为:
1、需协调的两个服务均为已接入服务,则按照已接入服务在使用音频设备方面的优先级进行协调,优先级高的已接入服务,优先使用音频设备;
2、需协调的两个服务的其中一个服务为已接入服务,另一个服务为未接入服务:
2.1、仅其中一个服务的音频模式属于重要的音频模式,则属于重要的音频模式的服务使用音频设备;
2.2、两个服务的音频模式均属于重要的音频模式,则先设置音频模式的服务,使用音频设备;
2.3、两个服务的音频模式均属于不重要音频模式,则让已接入服务使用音频设备,或,先设置音频模式的服务使用音频设备;
3、需要协调的两个服务均为未接入服务:
3.1、两个服务的音频模式均属于重要的音频模式,则先启动的服务使用音频设备;
3.2、仅其中一个服务的音频模式属于重要的音频模式,则属于重要的音频模式的服务使用音频设备;
3.3、两个服务的音频模式均属于不重要的音频模式,则让先设置的音频模式的服务使用音频设备,或者,让先启动的音频模式的服务使用音频设备。
本应用实施例提供的调度方法,可以有效调度多个不同服务就音频设备使用这一问题;并且,也对未接入服务进行协调,保证属于重要的音频模式的服务正常使用音频设备。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的调度音频设备的方法的调度音频设备的装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个调度音频设备的装置实施例中的具体限定和技术效果可以参见上文中对于调度音频设备的方法的限定和技术效果,在此不再赘述。
图9为一个实施例中调度音频设备的装置的结构框图。参照图9,该装置包括:
服务信息保存模块902,用于在目标应用中的第一服务以第一模式占用音频设备后,通过目标应用的中心调度器,记录所述第一服务的服务信息,所述服务信息至少包括所述第一服务占用音频设备所采用的第一模式;所述中心调度器用于在所述目标应用的多个音频异构服务之间进行音频调度,所述多个音频异构服务包括已接入所述中心调度器的已接入服务和未接入所述中心调度器的未接入服务;
拦截模块904,用于通过所述中心调度器,拦截第二服务关于第二模式的音频模式调用请求;若所述音频模式调用请求中的第二模式属于非重要音频模式,则查询是否在拦截到所述音频模式调用请求之前接收到携带所述第二模式的音频设备占用申请,根据查询结果确定所述第二服务为已接入服务或未接入服务;
调度模块906,用于在所述第二服务为未接入服务时,拦截掉所述第二服务关于第二模式的音频模式调用请求;在所述第二服务为已接入服务、所述第一模式属于非重要音频模式且所述第一服务为未接入服务时,释放拦截的所述第二服务关于第二模式的音频模式调用请求;
所述调度模块906,还用于若所述音频模式调用请求中的第二模式属于重要音频模式,则在所述第一模式属于重要音频模式时,拦截掉所述第二服务关于第二模式的音频模式调用请求;在所述第一模式不属于重要音频模式时,释放拦截的所述第二服务关于第二模式的音频模式调用请求。
在一个实施例中,所述拦截模块904,还用于通过所述中心调度器,提取所述音频模式调用请求中携带的所述第二模式;在所述第二模式为非共存模式的情况下,当所述第二模式属于第一类模式集合时,确定所述第二模式属于重要音频模式,当所述第二模式属于第二类模式集合时,确定所述第二模式属于非重要音频模式;其中,使用所述第一类模式集合中的音频模式的服务,是重要度高于使用第二类模式集合中的音频模式的服务。
在一个实施例中,所述拦截模块904,还用于根据拦截到的所述音频模式调用请求中携带的第二模式,查询在拦截到所述音频模式调用请求之前是否接收到关于所述第二模式的音频设备占用申请;基于查询到关于所述第二模式的音频设备占用申请以及所述音频设备占用申请中携带的服务标识,确定第二服务为已接入服务;基于未查询到关于所述第二模式的音频设备占用申请,确定发起所述音频模式调用请求的第二服务为未接入服务。
在一个实施例中,所述装置还包括:
服务类型确定模块,用于读取记录的所述第一服务的服务信息;若所述服务信息还包括所述第一服务的服务标识,则确定所述第一服务为已接入所述中心调度器的已接入服务;若所述第一服务的服务信息仅包括所述第一模式,则确定所述第一服务为未接入所述中心调度器的未接入服务。
在一个实施例中,所述调度模块906,还用于在所述第二模式属于非重要音频模式、所述第二服务为已接入服务时,读取所述第一服务的服务信息得到所述第一模式;当所述第一模式属于非重要音频模式时,查询所述第一服务的服务信息以确定所述第一服务为已接入所述中心调度器的已接入服务或未接入所述中心调度器的未接入服务;当所述第一服务为未接入服务时,释放拦截的所述第二服务关于第二模式的音频模式调用请求,为属于已接入服务的第二服务按所述第二模式占用音频设备。
在一个实施例中,所述调度模块906,还用于当所述第一模式属于非重要音频模式、且所述第一服务为已接入服务时,拦截掉所述第二服务关于第二模式的音频模式调用请求,保留为先于所述第二服务发起请求的所述第一服务占用音频设备;当所述第一模式属于重要音频模式,拦截掉所述第二服务关于第二模式的音频模式调用请求,保留为使用重要音频模式的所述第一服务占用音频设备。
在一个实施例中,所述调度模块906,还用于在释放拦截的所述第二服务关于第二模式的音频模式调用请求之后,按所述第二模式为所述第二服务占用音频设备,并更新所述中心调度器记录的当前占用音频设备的模式信息。
在一个实施例中,所述拦截模块904,还用于在所述第二服务为已接入服务时,通过所述中心调度器,接收所述第二服务发起的携带第二服务的服务标识和所述第二模式的音频设备占用申请,在所述中心调度器允许所述音频设备占用申请之后,使所述第二服务发起关于第二模式的音频模式调用请求,以拦截到第二服务关于第二模式的音频模式调用请求;
所述拦截模块904,还用于在所述第二服务为未接入服务时,通过所述中心调度器,在未接收到所述第二服务发起的关于所述第二模式的音频设备占用申请的情况下,直接拦截到第二服务关于第二模式的音频模式调用请求。
在一个实施例中,所述装置还包括:
申请判决模块,用于在所述第二服务为已接入服务时,通过所述中心调度器,读取所述中心调度器中记录的关于所述第一服务的服务信息得到第一模式;当所述音频设备占用申请中的第二模式与所述第一模式表征所述第二服务与所述第一服务共同占用音频设备时,则允许所述第二服务关于第二模式的音频设备占用申请。
在一个实施例中,所述申请判决模块,还用于当所述第二模式或所述第一模式表征所述第二服务与所述第一服务独立占用音频设备时,则当所述服务信息指示所述第一服务为未接入服务时,则允许所述第二服务关于所述第二模式的音频设备占用申请;
所述申请判决模块,还用于当所述第二模式或所述第一模式表征所述第二服务与所述第一服务独立占用音频设备时,则当所述服务信息指示所述第一服务为已接入服务时,比较所述第一服务与所述第二服务的优先级,根据比较结果允许或驳回所述第二服务关于第二模式的音频设备占用申请;
所述申请判决模块,还用于在所述中心调度器驳回所述第二服务关于第二模式的音频设备占用申请之后,禁止所述第二服务发起关于第二模式的音频模式调用请求。
在一个实施例中,所述装置还包括:
启动判决模块,用于在所述第二服务为未接入服务且所述第二服务启动运行时,通过所述中心调度器,预测所述第二服务占用音频设备的音频模式;读取所述中心调度器中记录的所述第一服务的服务信息;当所述服务信息指示所述第一服务为未接入服务,且所述第一模式与预测的音频模式均属于重要音频模式时,禁止所述第二服务启动运行;当预测的所述音频模式不属于重要音频模式或者所述第一模式不属于重要音频模式时,允许所述第二服务启动运行,并在未向所述中心调度器发起关于所述第二模式的音频设备占用申请的情况下,直接发起关于第二模式的音频模式调用请求。
在一个实施例中,所述启动判决模块,还用于在属于未接入服务的所述第二服务启动时,获取所述第二服务的服务标识;获取预估的未接入服务和占用音频设备的音频模式之间的映射关系;根据所述预估的映射关系,预测所述第二服务占用音频设备的音频模式。
上述调度音频设备的装置中,针对集成在目标应用中的多个音频异构服务,按是否接入了目标应用的中心调度器而分为已接入服务与未接入服务,在目标应用中某个的第一服务占用音频设备的情况下,对于第二服务,不管是已接入服务或未接入服务,在需要占用音频设备时,都会发起音频模式调用请求,但由于请求不携带服务标识,无从得知是哪个服务发起的,那么,通过中心调度器,拦截第二服务关于第二模式的音频模式调用请求,以进行音频设备的调度,具体地:
若该请求中的第二模式是非重要音频模式,那么表示发起该请求的第二服务是重要度不那么高的服务,此时进一步通过查询是否在拦截到该请求之前,接收到过携带第二模式的音频设备占用申请,以确定第二服务的服务类型;在第二服务为未接入服务且使用非重要音频模式时,其使用音频设备的优先级最低,那么直接拦截掉该请求,继续让第一服务使用音频设备;在第二服务为已接入服务且使用非重要音频模式时,仅当第一服务属于使用非重要音频模式的未接入服务时,其对音频设备的使用权才会直接让渡给第二服务;
若该请求中的第二模式属于重要音频模式,表示发起该请求的第二服务是重要度高的服务,则在所述第一模式也属于重要音频模式时,拦截掉所述第二服务关于第二模式的音频模式调用请求,继续让第一服务使用音频设备;在所述第一模式不属于重要音频模式时,释放拦截的所述第二服务关于第二模式的音频模式调用请求,共同保证重要服务对音频设备的优先使用权。
这样,可以保证在重要音频模式与非重要音频模式之间,优先为使用重要音频模式的重要服务分配音频设备,在已接入服务与未接入服务之间,已接入服务的优先级高于未接入服务,在两个重要服务之间,先使用的服务继续使用音频设备,从而实现了基于服务重要度、服务类型以及请求时间,共同调度音频设备,可以保证,重要的未接入服务能够顺利抢占非重要音频模式,并不被其它重要任务打断,非重要的未接入服务只有在不存在其它服务占用音频设备的情况下,才能真正占用音频设备,实现在多个异构音频服务之间合理调度音频设备。
上述调度音频设备的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端或服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、输入输出接口(Input/Output,简称I/O接口)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储调度音频设备的数据。该计算机设备的输入输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种调度音频设备的方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述各个方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述各个方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (16)
1.一种调度音频设备的方法,其特征在于,所述方法包括:
在目标应用中的第一服务以第一模式占用音频设备后,通过目标应用的中心调度器,记录所述第一服务的服务信息,所述服务信息至少包括所述第一服务占用音频设备所采用的第一模式;所述中心调度器用于在所述目标应用的多个音频异构服务之间进行音频调度,所述多个音频异构服务包括已接入所述中心调度器的已接入服务和未接入所述中心调度器的未接入服务;
通过所述中心调度器,拦截第二服务关于第二模式的音频模式调用请求;
若所述音频模式调用请求中的第二模式属于非重要音频模式,则查询是否在拦截到所述音频模式调用请求之前接收到携带所述第二模式的音频设备占用申请,根据查询结果确定所述第二服务为已接入服务或未接入服务;
在所述第二服务为未接入服务时,拦截掉所述第二服务关于第二模式的音频模式调用请求;在所述第二服务为已接入服务、所述第一模式属于非重要音频模式且所述第一服务为未接入服务时,释放拦截的所述第二服务关于第二模式的音频模式调用请求;
若所述音频模式调用请求中的第二模式属于重要音频模式,则在所述第一模式属于重要音频模式时,拦截掉所述第二服务关于第二模式的音频模式调用请求;在所述第一模式不属于重要音频模式时,释放拦截的所述第二服务关于第二模式的音频模式调用请求。
2.根据权利要求1所述的方法,其特征在于,在所述拦截第二服务关于第二模式的音频模式调用请求之后,所述方法还包括:
通过所述中心调度器,提取所述音频模式调用请求中携带的所述第二模式;
在所述第二模式为非共存模式的情况下,当所述第二模式属于第一类模式集合时,确定所述第二模式属于重要音频模式,当所述第二模式属于第二类模式集合时,确定所述第二模式属于非重要音频模式;其中,使用所述第一类模式集合中的音频模式的服务,是重要度高于使用第二类模式集合中的音频模式的服务。
3.根据权利要求1所述的方法,其特征在于,所述查询是否在拦截到所述音频模式调用请求之前接收到携带所述第二模式的音频设备占用申请,根据查询结果确定所述第二服务为已接入服务或未接入服务,包括:
根据拦截到的所述音频模式调用请求中携带的第二模式,查询在拦截到所述音频模式调用请求之前是否接收到关于所述第二模式的音频设备占用申请;
基于查询到关于所述第二模式的音频设备占用申请以及所述音频设备占用申请中携带的服务标识,确定第二服务为已接入服务;
基于未查询到关于所述第二模式的音频设备占用申请,确定发起所述音频模式调用请求的第二服务为未接入服务。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
读取记录的所述第一服务的服务信息;
若所述服务信息还包括所述第一服务的服务标识,则确定所述第一服务为已接入所述中心调度器的已接入服务;
若所述第一服务的服务信息仅包括所述第一模式,则确定所述第一服务为未接入所述中心调度器的未接入服务。
5.根据权利要求1所述的方法,其特征在于,所述在所述第二服务为已接入服务、所述第一模式属于非重要音频模式且所述第一服务为未接入服务时,释放拦截的所述第二服务关于第二模式的音频模式调用请求,包括:
在所述第二模式属于非重要音频模式、所述第二服务为已接入服务时,读取所述第一服务的服务信息得到所述第一模式;
当所述第一模式属于非重要音频模式时,查询所述第一服务的服务信息以确定所述第一服务为已接入所述中心调度器的已接入服务或未接入所述中心调度器的未接入服务;当所述第一服务为未接入服务时,释放拦截的所述第二服务关于第二模式的音频模式调用请求,为属于已接入服务的第二服务按所述第二模式占用音频设备。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当所述第一模式属于非重要音频模式、且所述第一服务为已接入服务时,拦截掉所述第二服务关于第二模式的音频模式调用请求,保留为先于所述第二服务发起请求的所述第一服务占用音频设备;
当所述第一模式属于重要音频模式,拦截掉所述第二服务关于第二模式的音频模式调用请求,保留为使用重要音频模式的所述第一服务占用音频设备。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在释放拦截的所述第二服务关于第二模式的音频模式调用请求之后,按所述第二模式为所述第二服务占用音频设备,并更新所述中心调度器记录的当前占用音频设备的模式信息。
8.根据权利要求1所述的方法,其特征在于,所述通过所述中心调度器,拦截第二服务关于第二模式的音频模式调用请求,包括:
在所述第二服务为已接入服务时,通过所述中心调度器,接收所述第二服务发起的携带第二服务的服务标识和所述第二模式的音频设备占用申请,在所述中心调度器允许所述音频设备占用申请之后,使所述第二服务发起关于第二模式的音频模式调用请求,以拦截到第二服务关于第二模式的音频模式调用请求;
在所述第二服务为未接入服务时,通过所述中心调度器,在未接收到所述第二服务发起的关于所述第二模式的音频设备占用申请的情况下,直接拦截到第二服务关于第二模式的音频模式调用请求。
9.根据权利要求8所述的方法,其特征在于,所述在所述第二服务为已接入服务时,通过所述中心调度器,接收所述第二服务发起的携带第二服务的服务标识和所述第二模式的音频设备占用申请之后,所述方法还包括:
在所述第二服务为已接入服务时,通过所述中心调度器,读取所述中心调度器中记录的关于所述第一服务的服务信息得到第一模式;
当所述音频设备占用申请中的第二模式与所述第一模式表征所述第二服务与所述第一服务共同占用音频设备时,则允许所述第二服务关于第二模式的音频设备占用申请。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
当所述第二模式或所述第一模式表征所述第二服务与所述第一服务独立占用音频设备时,则当所述服务信息指示所述第一服务为未接入服务时,允许所述第二服务关于所述第二模式的音频设备占用申请,当所述服务信息指示所述第一服务为已接入服务时,比较所述第一服务与所述第二服务的优先级,根据比较结果允许或驳回所述第二服务关于第二模式的音频设备占用申请;
在所述中心调度器驳回所述第二服务关于第二模式的音频设备占用申请之后,禁止所述第二服务发起关于第二模式的音频模式调用请求。
11.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在所述第二服务为未接入服务且所述第二服务启动运行时,通过所述中心调度器,预测所述第二服务占用音频设备的音频模式;
读取所述中心调度器中记录的所述第一服务的服务信息;
当所述服务信息指示所述第一服务为未接入服务,且所述第一模式与预测的音频模式均属于重要音频模式时,禁止所述第二服务启动运行;
当预测的所述音频模式不属于重要音频模式或者所述第一模式不属于重要音频模式时,允许所述第二服务启动运行,并在未向所述中心调度器发起关于所述第二模式的音频设备占用申请的情况下,直接发起关于第二模式的音频模式调用请求。
12.根据权利要求11所述的方法,其特征在于,所述在所述第二服务为未接入服务且所述第二服务启动运行时,通过所述中心调度器,预测所述第二服务占用音频设备的音频模式,包括:
在属于未接入服务的所述第二服务启动时,获取所述第二服务的服务标识;
获取预估的未接入服务和占用音频设备的音频模式之间的映射关系;
根据所述预估的映射关系,预测所述第二服务占用音频设备的音频模式。
13.一种调度音频设备的装置,其特征在于,所述装置包括:
服务信息保存模块,用于在目标应用中的第一服务以第一模式占用音频设备后,通过目标应用的中心调度器,记录所述第一服务的服务信息,所述服务信息至少包括所述第一服务占用音频设备所采用的第一模式;所述中心调度器用于在所述目标应用的多个音频异构服务之间进行音频调度,所述多个音频异构服务包括已接入所述中心调度器的已接入服务和未接入所述中心调度器的未接入服务;
拦截模块,用于通过所述中心调度器,拦截第二服务关于第二模式的音频模式调用请求;若所述音频模式调用请求中的第二模式属于非重要音频模式,则查询是否在拦截到所述音频模式调用请求之前接收到携带所述第二模式的音频设备占用申请,根据查询结果确定所述第二服务为已接入服务或未接入服务;
调度模块,用于在所述第二服务为未接入服务时,拦截掉所述第二服务关于第二模式的音频模式调用请求;在所述第二服务为已接入服务、所述第一模式属于非重要音频模式且所述第一服务为未接入服务时,释放拦截的所述第二服务关于第二模式的音频模式调用请求;
所述调度模块,还用于若所述音频模式调用请求中的第二模式属于重要音频模式,则在所述第一模式属于重要音频模式时,拦截掉所述第二服务关于第二模式的音频模式调用请求;在所述第一模式不属于重要音频模式时,释放拦截的所述第二服务关于第二模式的音频模式调用请求。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法。
16.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210355675.2A CN116931867A (zh) | 2022-04-06 | 2022-04-06 | 调度音频设备的方法、装置、设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210355675.2A CN116931867A (zh) | 2022-04-06 | 2022-04-06 | 调度音频设备的方法、装置、设备、存储介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116931867A true CN116931867A (zh) | 2023-10-24 |
Family
ID=88383210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210355675.2A Pending CN116931867A (zh) | 2022-04-06 | 2022-04-06 | 调度音频设备的方法、装置、设备、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116931867A (zh) |
-
2022
- 2022-04-06 CN CN202210355675.2A patent/CN116931867A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413673B (zh) | 数据库数据统一采集与分发方法及系统 | |
US10334118B2 (en) | Method and system for providing video multimedia ringtone | |
JP2015038745A (ja) | ユーザ・インターフェースの前景アクセスの決定論的制御を行う無線通信デバイス | |
CN112035247A (zh) | 一种资源调度方法、车机及计算机存储介质 | |
WO2017097124A1 (zh) | 基于分库分表的任务传输方法、装置及系统 | |
CN103517243A (zh) | 紧急呼叫建立方法、网络设备及通信系统 | |
CN109167819B (zh) | 数据同步系统、方法、装置及存储介质 | |
US20160028832A1 (en) | Methods and systems for efficient discovery of devices in a peer-to-peer network | |
US10755707B2 (en) | Selectively blacklisting audio to improve digital assistant behavior | |
WO2015120736A1 (zh) | 能够实现多设备协同的智能设备与多设备协同工作方法 | |
CN101884197B (zh) | 在通用即插即用网络中控制服务质量的方法和装置 | |
CN113076290A (zh) | 文件删除方法、装置、设备、系统及存储介质 | |
CN116931867A (zh) | 调度音频设备的方法、装置、设备、存储介质和程序产品 | |
CN113315719A (zh) | 流量调度方法、设备、系统及存储介质 | |
CN112231077A (zh) | 应用的调度方法及电子设备 | |
CN109871276B (zh) | 一种基于Lua获取手机应用内存的方法及装置 | |
CN106453794A (zh) | 一种通话记录处理方法及装置、通话录音方法及系统 | |
CN114710350B (zh) | 一种可调用资源的分配方法、装置、电子设备和存储介质 | |
CN112616143B (zh) | 一种分配通信号码的方法、装置、电子设备及存储介质 | |
CN108712280A (zh) | 一种网络功能的管理方法、装置、存储介质及智能终端 | |
JP2004504737A (ja) | マルチメディア情報の要素を配布する方法 | |
CN111459653B (zh) | 集群调度方法、装置和系统以及电子设备 | |
CN111722783B (zh) | 数据存储方法及装置 | |
CN114063968A (zh) | 一种音频设备选择方法、装置及电子设备 | |
CN108153685A (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 |