掌桥专利:专业的专利平台
掌桥专利
首页

跨进程播放器焦点管理方法及装置

文献发布时间:2024-04-18 19:58:21


跨进程播放器焦点管理方法及装置

技术领域

本申请涉及互联网技术领域,具体涉及一种跨进程播放器焦点管理方法及装置。

背景技术

当两个或两个以上的应用同时向同一输出流播放音频时,若系统将所有音频流混合在一起播放,会给用户的听觉带来很大的困扰。为了避免所有音视频应用同时播放,通过音频焦点,保障一次只能有一个应用进行播放。

随着播放业务场景越来越多和越来越复杂,跨进程播放使得播放器从主进程迁移到播放进程,在播放进程执行播放任务,使得音频焦点的处理复杂度提升,急需一种跨进程播放器焦点管理方法。

发明内容

鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的跨进程播放器焦点管理方法及装置。

根据本申请实施例的第一方面,提供了一种跨进程播放器焦点管理方法,其中,进程包括主进程和播放进程,方法包括:

主进程根据播放业务设置第一音频焦点参数,通过跨进程连接器将第一音频焦点参数传递给播放进程;

当开始播放时,播放进程的播放器根据第一音频焦点参数对音频焦点进行申请,以获取对应的音频焦点进行播放。

可选地,第一音频焦点参数包括类型参数和焦点抢占标记;类型参数包括不获取焦点、获取长期焦点、获取第一短期焦点和/或获取第二短期焦点;焦点抢占标记包括忽略焦点抢占标记和非忽略焦点抢占标记。

可选地,当开始播放时,播放进程的播放器根据第一音频焦点参数对音频焦点进行申请,以获取对应的音频焦点进行播放进一步包括:

若第一音频焦点参数的类型参数为获取长期焦点,播放进程的播放器申请获取长期焦点的音频焦点;

若第一音频焦点参数的类型参数为获取第一短期焦点,播放进程的播放器申请获取第一短期焦点的音频焦点;

若第一音频焦点参数的类型参数为获取第二短期焦点,播放进程的播放器申请获取第二短期焦点的音频焦点;第二短期焦点的音频焦点禁用后,将音频焦点归还原焦点持有者。

可选地,方法还包括:

在播放过程中,播放进程的播放器对音频焦点进行监听;

当其他应用或者本应用的其他播放器根据第二音频焦点参数申请音频焦点时,播放进程的播放器根据第二音频焦点参数丢失音频焦点;

当其他应用或者本应用的其他播放器释放音频焦点时,播放进程的播放器重新获取音频焦点。

可选地,当其他应用或者本应用的其他播放器根据第二音频焦点参数申请音频焦点时,播放进程的播放器根据第二音频焦点参数丢失音频焦点进一步包括:

播放进程的播放器丢失音频焦点,判断第一音频焦点参数的焦点抢占标记是否为忽略焦点抢占标记;

若是,播放进程的播放器和抢占音频焦点的其他应用或者本应用的其他播放器同时进行播放;

若否,暂停播放。

可选地,当其他应用或者本应用的其他播放器释放音频焦点时,播放进程的播放器重新获取音频焦点进一步包括:

判断第一音频焦点参数的类型参数是否为不获取焦点;

若否,播放进程的播放器重新获取音频焦点,重新开始执行播放。

可选地,方法还包括:

在播放暂停或者播放结束时,播放进程的播放器释放音频焦点。

可选地,播放进程包含多个播放器,每个播放器根据第一音频焦点参数对音频焦点进行申请,以获取对应的音频焦点进行播放。

根据本申请实施例的第二方面,提供了一种跨进程播放器焦点管理装置,其中,进程包括主进程和播放进程,装置包括:

设置模块,适于主进程根据播放业务设置第一音频焦点参数,通过跨进程连接器将第一音频焦点参数传递给播放进程;

申请模块,适于当开始播放时,播放进程的播放器根据第一音频焦点参数对音频焦点进行申请,以获取对应的音频焦点进行播放。

根据本申请实施例的第三方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;

存储器用于存放至少一可执行指令,可执行指令使处理器执行上述跨进程播放器焦点管理方法对应的操作。

根据本申请实施例的第四方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述跨进程播放器焦点管理方法对应的操作。

根据本申请的提供的跨进程播放器焦点管理方法及装置,主进程设置第一音频焦点参数,跨进程传递给播放进程后,播放进程的播放器可以根据第一音频焦点参数进行音频焦点的申请,实现在跨进程播放器中音频焦点的获取,保障跨进程播放器的正常播放。

上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本申请一个实施例的跨进程播放器焦点管理方法的流程图;

图2示出了根据本申请另一个实施例的跨进程播放器焦点管理方法的流程图;

图3示出了根据本申请一个实施例的跨进程播放器焦点管理装置的结构示意图;

图4示出了根据本申请一个实施例的一种计算设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。

首先,对本申请一个或多个实施例涉及的名词术语进行解释。

音频焦点:音频焦点是指在Android系统中控制音频流的使用权限和优先级的机制,确保在多个应用程序同时请求播放音频时,系统能够自动调整哪个应用程序具有音频输出权。通过获取音频焦点,应用程序可以告知系统其对音频流的需求,并根据特定场景的要求来请求或释放焦点,确保音频资源的合理分配。

AIDL:AIDL(Android Interface Definition Language,Android接口定义语言)是一种用于在Android平台上进行跨进程通信的机制。允许不同进程之间通过接口进行数据交换和方法调用。AIDL定义了客户端与服务之间进行通信的接口规范,方便远程过程调用,更简单可靠。

图1示出了根据本申请一实施例的跨进程播放器焦点管理方法的流程图,如图1所示,该方法包括如下步骤:

步骤S101,主进程根据播放业务设置第一音频焦点参数,通过跨进程连接器将第一音频焦点参数传递给播放进程。

本实施例中播放时采用跨进程播放器实现,如主进程通过跨进程连接器将播放数据传递给播放进程,在播放进程中由播放器进行播放,减少主进程的资源占用,保障播放的流畅度。现有技术中音频焦点的获取大多在单个进程中完成,考虑上述问题,本实施例基于跨进程播放器,来为其获取音频焦点,以实现播放的正常执行。

具体的,在主进程中,主进程的播放接口可以根据播放业务,设置第一音频焦点参数,第一音频焦点参数包括如类型参数和焦点抢占标记。类型参数即后续在获取音频焦点时,获取的音频焦点类型,包括如不获取焦点、获取长期焦点、获取第一短期焦点、获取第二短期焦点等。获取长期焦点适用于如需要较长时间进行播放的播放业务,即使释放音频焦点后,也不会将音频焦点归还原焦点持有者;获取第一短期焦点适用于如短期播放的播放列表类的播放业务,后续释放音频焦点后可以将音频焦点归还原焦点持有者;获取第二短期焦点也适用于如短期播放的播放列表类的播放业务,原焦点持有者可以选择暂停或者压低音量同时播放,在后续释放音频焦点后可以将音频焦点归还原焦点持有者。焦点抢占标记包括忽略焦点抢占标记和非忽略焦点抢占标记,当焦点抢占标记为忽略焦点抢占标记时,即使播放过程中音频焦点丢失,依然可以不释放音频焦点,可以与抢占音频焦点的其他应用、本应用的其他播放器等同时播放;当焦点抢占标记为非忽略焦点抢占标记时,音频焦点丢失。以上为举例说明,具体根据实施情况设置,此处不做限定。

主进程根据播放业务设置对应的第一音频焦点参数后,通过跨进程连接器的AIDL接口可以传递给播放进程。

步骤S102,当开始播放时,播放进程的播放器根据第一音频焦点参数对音频焦点进行申请,以获取对应的音频焦点进行播放。

播放进程的播放服务可以实例化播放器,根据播放数据进行播放。在开始播放时,播放进程的播放器根据跨进程连接器传递的第一音频焦点参数的类型参数来对音频焦点进行申请,如调用对应的预设申请焦点接口,申请得到音频焦点,若当前音频焦点被其他应用占用,告知原焦点持有者申请的类型参数等。

在获取到音频焦点后,播放器基于申请的音频焦点进行播放,保障音频的正常播放。

进一步,播放进程中也可以包含多个播放器,如播放器1、播放器2、播放器3……,每个播放器都可以根据第一音频焦点参数对音频焦点进行申请,获取对应的音频焦点来进行播放。

根据本申请提供的跨进程播放器焦点管理方法,主进程设置第一音频焦点参数,跨进程传递给播放进程后,播放进程的播放器可以根据第一音频焦点参数进行音频焦点的申请,实现在跨进程播放器中音频焦点的获取,保障跨进程播放器的正常播放。

图2示出了根据本申请一实施例的跨进程播放器焦点管理方法的流程图,如图2所示,该方法包括以下步骤:

步骤S201,主进程根据播放业务设置第一音频焦点参数,通过跨进程连接器将第一音频焦点参数传递给播放进程。

对于跨进程播放器,主进程在接收到用户触发的对播放业务的操作时,根据播放业务确定对应的播放数据以及根据播放业务确定对应的第一音频焦点参数,设置时可以设置在如预设封装类中,通过跨进程连接器将预设封装类中的各个数据参数等传递给播放进程。

步骤S202,当开始播放时,播放进程的播放器根据第一音频焦点参数对音频焦点进行申请,以获取对应的音频焦点进行播放。

当开始播放时,播放进程的播放器通过传递得到的第一音频焦点参数对音频焦点进行申请,若第一音频焦点参数的类型参数为获取长期焦点,播放进程的播放器申请获取长期焦点的音频焦点;若第一音频焦点参数的类型参数为获取第一短期焦点,播放进程的播放器申请获取第一短期焦点的音频焦点;若第一音频焦点参数的类型参数为获取第二短期焦点,播放进程的播放器申请获取第二短期焦点的音频焦点;第二短期焦点的音频焦点禁用后,将音频焦点归还原焦点持有者。

在播放器申请获取音频焦点后,基于音频焦点,根据播放数据执行对应的播放。

步骤S203,在播放过程中,播放进程的播放器对音频焦点进行监听,当其他应用或者本应用的其他播放器根据第二音频焦点参数申请音频焦点时,播放进程的播放器根据第二音频焦点参数丢失音频焦点,当其他应用或者本应用的其他播放器释放音频焦点时,播放进程的播放器重新获取音频焦点。

在播放进程的播放器播放过程中,播放进程的播放器还对音频焦点进行监听。当有其他应用或者本应用的其他播放器根据第二音频焦点参数申请音频焦点时,播放进程的播放器根据告知的第二音频焦点参数来丢失音频焦点。丢失音频焦点可以通过调用对应的丢失事件,如根据第二音频焦点参数,确定对应的丢失事件,第二音频焦点参数包括如不获取焦点、获取长期焦点、获取第一短期焦点、获取第二短期焦点等,可以调用如onAudioFocusLoss(焦点长期丢失)事件、onAudioFocusLossTransient(焦点短暂丢失)事件、onAudioFocusLossTransientCanDuck(焦点短暂丢失但原焦点持有者无需释放焦点)事件等。

在播放进程的播放器丢失音频焦点时,判断第一音频焦点参数的焦点抢占标记是否为忽略焦点抢占标记;若是,可以忽略音频焦点被抢占,播放进程的播放器和抢占音频焦点的其他应用或者本应用的其他播放器可以同时进行播放,若否,则播放器暂停播放。

当其他应用或者本应用的其他播放器播放完成或者播放暂停等情况下,释放音频焦点时,播放进程的播放器监听到焦点释放,如onAudioFocusGain事件,重新获取到音频焦点。在重新获取音频焦点前,可以判断第一音频焦点参数的类型参数是否为不获取焦点,若是,则忽略,不再获取音频焦点,若否,则重新获取音频焦点,开始执行播放。

步骤S204,在播放暂停或者播放结束时,播放进程的播放器释放音频焦点。

当用户触发操作,使播放器播放暂停,或者播放器自动播放结束时,此时,不需要占用音频焦点,播放进程的播放器可以释放音频焦点。

根据本申请提供的跨进程播放器焦点管理方法,在主进程中根据播放业务设置第一音频焦点参数,跨进程传递给播放进程后,播放进程的播放器可以根据第一音频焦点参数进行音频焦点的申请,实现在跨进程播放器中音频焦点的获取,播放器可以进行正常播放。进一步,播放器在播放过程中,可以对音频焦点进行监听,当其他应用申请音频焦点时,跨进程的播放器丢失音频焦点,可以暂停播放,或者忽略焦点抢占,继续与抢占音频焦点的其他应用同时播放,当其他应用释放音频焦点时,跨进程的播放器可以重新获取音频焦点,开始播放,或者根据类型参数不获取焦点等,从而保障跨进程播放器的正常播放。

图3示出了本申请一实施例提供的跨进程播放器焦点管理装置的结构示意图。如图3所示,该装置包括:

设置模块310,适于主进程根据播放业务设置第一音频焦点参数,通过跨进程连接器将第一音频焦点参数传递给播放进程;

申请模块320,适于当开始播放时,播放进程的播放器根据第一音频焦点参数对音频焦点进行申请,以获取对应的音频焦点进行播放。

可选地,第一音频焦点参数包括类型参数和焦点抢占标记;类型参数包括不获取焦点、获取长期焦点、获取第一短期焦点和/或获取第二短期焦点;焦点抢占标记包括忽略焦点抢占标记和非忽略焦点抢占标记。

可选地,当开始播放时,申请模块320进一步适于:

若第一音频焦点参数的类型参数为获取长期焦点,播放进程的播放器申请获取长期焦点的音频焦点;

若第一音频焦点参数的类型参数为获取第一短期焦点,播放进程的播放器申请获取第一短期焦点的音频焦点;

若第一音频焦点参数的类型参数为获取第二短期焦点,播放进程的播放器申请获取第二短期焦点的音频焦点;第二短期焦点的音频焦点禁用后,将音频焦点归还原焦点持有者。

可选地,装置还包括:监听模块330,适于播放进程的播放器对音频焦点进行监听;当其他应用或者本应用的其他播放器根据第二音频焦点参数申请音频焦点时,播放进程的播放器根据第二音频焦点参数丢失音频焦点;当其他应用或者本应用的其他播放器释放音频焦点时,播放进程的播放器重新获取音频焦点。

可选地,监听模块330进一步适于:

播放进程的播放器丢失音频焦点,判断第一音频焦点参数的焦点抢占标记是否为忽略焦点抢占标记;

若是,播放进程的播放器和抢占音频焦点的其他应用或者本应用的其他播放器同时进行播放;

若否,暂停播放。

可选地,监听模块330进一步适于:

判断第一音频焦点参数的类型参数是否为不获取焦点;

若否,播放进程的播放器重新获取音频焦点,重新开始执行播放。

可选地,装置还包括:释放模块340,适于在播放暂停或者播放结束时,播放进程的播放器释放音频焦点。

可选地,播放进程包含多个播放器,每个播放器根据第一音频焦点参数对音频焦点进行申请,以获取对应的音频焦点进行播放。

以上各模块的描述参照方法实施例中对应的描述,在此不再赘述。

根据本申请提供的跨进程播放器焦点管理装置,主进程设置第一音频焦点参数,跨进程传递给播放进程后,播放进程的播放器可以根据第一音频焦点参数进行音频焦点的申请,实现在跨进程播放器中音频焦点的获取,保障跨进程播放器的正常播放。

本申请还提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,可执行指令可执行上述任意方法实施例中的跨进程播放器焦点管理方法。

图4示出了根据本申请一实施例的一种计算设备的结构示意图,本申请的具体实施例并不对计算设备的具体实现做限定。

如图4所示,该计算设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。

其中:

处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。

通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。

处理器402,用于执行程序410,具体可以执行上述跨进程播放器焦点管理方法实施例中的相关步骤。

具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。

处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。

存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

程序410具体可以用于使得处理器402执行上述任意方法实施例中的跨进程播放器焦点管理方法。程序410中各步骤的具体实现可以参见上述跨进程播放器焦点管理实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。

在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的较佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。

相关技术
  • 跨进程通讯方法、装置、终端及存储介质
  • 空调机管理装置、热源设备管理装置、空调机管理方法以及热源设备管理方法
  • 焦点调节装置及拍摄装置
  • 跨进程调用管理方法及装置、操作系统架构、终端设备
  • Windows跨进程窗口管理方法、存储介质、电子设备及系统
技术分类

06120116483765