一种多音频流音量的自动控制方法技术

技术编号:35156590 阅读:18 留言:0更新日期:2022-10-05 10:39
本发明专利技术公开了一种多音频流音量的自动控制方法,通过分析桌面系统内的顶层窗口,根据顶层窗口所对应应用的不同确定采用桌面系统的系统音量值调节安卓兼容环境内音频流音量的具体方式,由此实现了采用桌面系统音量对安卓系统多种音频流音量的按需调节,改善了用户体验。体验。体验。

【技术实现步骤摘要】
一种多音频流音量的自动控制方法


[0001]本专利技术属于安卓系统开发
,具体涉及一种多音频流音量的自动控制方法。

技术介绍

[0002]在安卓系统中,当多个安卓应用播放音频时,每个安卓应用都会创建AudioTrack,AudioTrack通过共享内存和播放线程的Track传递数据,每个安卓应用发送的音频数据格式可能各不相同,即AudioTrack映射到某一类音频流,安卓系统支持的音频流包括MUSIC、Alarm、Notification和Ring等,同时,为了满足用户对不同音频流音量的要求提高用户体验,安卓系统往往提供对不同音频流音量的独立控制,且不同音频流的音量调节范围也各不相同,即使用音量键进行音量控制时不同音频流的增减幅度也不相同。
[0003]由于桌面操作系统仅提供一个统一的音量控制按钮,因此当用户在桌面系统使用应用程序通常采用的音量调节方式是采用系统提供的音量控制按钮完成对应用程序音量的控制,然而这点与安卓系统所提供的针对不同音频流进行独立控制的音量调节方式不同,由此,当桌面操作系统用户在桌面操作系统中使用安卓应用时往往会因为音量调节方式的不同而导致对安卓应用的操作不便,甚至是无法对某些音频流进行实际的控制,进而影响用户的体验。

技术实现思路

[0004]有鉴于此,本专利技术提供了一种多音频流音量的自动控制方法,能够实现采用桌面系统音量对安卓系统多种音频流音量的按需调节。
[0005]本专利技术提供的一种多音频流音量的自动控制方法,包括以下步骤:桌面系统启动时根据桌面系统初始音量计算得到初始化的归一化音量控制值,在安卓兼容环境内统一设定各类音频流的流音量范围后,再采用初始化的音量控制值设置安卓兼容环境内各类音频流的初始音量值;桌面系统启动后当用户调整系统音量时,采用新的系统音量值设置桌面系统音量,确定用户当前控制的目标应用;若目标应用为桌面系统应用,安卓兼容环境则采用新的系统音量值设置所有音频流的音量值,若目标应用为安卓应用,安卓兼容环境则采用新的系统音量值设置该安卓应用的音量值。
[0006]进一步地,所述桌面系统启动时根据桌面系统初始音量计算得到初始化的归一化音量控制值的方式为:采用系统音量范围对初始音量进行归一化得到初始化的音量控制值。
[0007]进一步地,所述在安卓兼容环境内统一设定各类音频流的流音量范围的方式为:获取各类音频流的流音量范围,确定所有流音量范围中的最小下限音量值及最大上限音量值,由最小下限音量值及最大上限音量值形成新的流音量范围,将所有音频流的流音量范围设置为新的流音量范围。
[0008]进一步地,所述采用初始化的音量控制值设置安卓兼容环境内各类音频流的初始音量值的方式为:安卓兼容环境接收到初始化的音量控制值,将所有音频流的初始音量值设置为初始化的音量控制值与新的流音量范围之积与最小下限音量值的求和结果。
[0009]进一步地,所述安卓兼容环境接收到初始化的音量控制值的方式为:通过读写配置文件的方式获取初始化的音量控制值。
[0010]进一步地,所述安卓兼容环境接收到初始化的音量控制值的方式为:通过设置属性的方式获取初始化的音量控制值。
[0011]进一步地,所述确定用户当前控制的目标应用的方式为:获取桌面系统的顶层窗口,根据顶层窗口对应的应用确定目标应用。
[0012]进一步地,所述若目标应用为桌面系统应用,安卓兼容环境则采用新的系统音量值设置所有音频流的音量值,若目标应用为安卓应用,安卓兼容环境则采用新的系统音量值设置该安卓应用的音量值,包括以下步骤:采用系统音量范围对系统音量值归一化得到音量控制值;采用音量控制值与流音量范围之积与最小下限音量值的求和结果作为新的所有音频流或安卓应用对应的所有Track的音量值。
[0013]进一步地,所述采用音量控制值与流音量范围之积与最小下限音量值的求和结果作为新的所有音频流或安卓应用对应的所有Track的音量值的方式为:当音量控制值不为零时,若音量控制值与流音量范围之积与最小下限音量值的求和结果小于1,则将音量值设置为在最小下限音量值的基础上加1的结果;若音量控制值与流音量范围之积与最小下限音量值的求和结果不小于1,则将音量值设置为求和结果;当音量控制值为零时,则将音量值设置为求和结果。
[0014]进一步地,所述安卓兼容环境在安卓应用播放音频创建Track时,为Track分配唯一编号,建立安卓应用的任务ID与Track唯一编号及Track类型之间的映射关系;当安卓应用停止播放音频时将映射关系中与任务ID相关的所有记录均删除。
[0015]有益效果:本专利技术通过分析桌面系统内的顶层窗口,根据顶层窗口所对应应用的不同确定采用桌面系统的系统音量值调节安卓兼容环境内音频流音量的具体方式,由此实现了采用桌面系统音量对安卓系统多种音频流音量的按需调节,改善了用户体验。
附图说明
[0016]图1为本专利技术提供的一种多音频流音量的自动控制方法的流程图。
具体实施方式
[0017]下面结合附图并举实施例,对本专利技术进行详细描述。
[0018]本专利技术提供的一种多音频流音量的自动控制方法,其核心思想是:当感知用户修改桌面操作系统的音量的操作时,采用当前已设定的音量修改桌面操作系统的音量,并确定用户当前控制的目标应用,若目标应用为桌面操作系统应用则采用当前已设定的音量实现对安卓系统内所有音频流的音量控制,若目标应用为安卓应用则采用当前已设定的音量实现对安卓应用的音量控制。
[0019]本专利技术提供的一种多音频流音量的自动控制方法,流程如图1所示,包括以下步
骤:步骤1、桌面系统启动时获取桌面系统初始音量及系统音量范围,采用系统音量范围对初始音量进行归一化得到初始化的音量控制值。
[0020]其中,归一化计算得到的音量控制值的取值范围是0到1之间的数值。系统音量范围是指桌面系统中音量可调节的最大值与最小值之间的差值。
[0021]步骤2、安卓兼容环境启动时获取各类音频流的流音量范围,确定所有流音量范围中的最小下限音量值及最大上限音量值,由最小下限音量值及最大上限音量值形成新的流音量范围,将所有音频流的流音量范围设置为新的流音量范围,将所有音频流的初始音量值设置为初始化的音量控制值与新的流音量范围之积与最小下限音量值的求和结果,完成桌面系统及安卓兼容环境的初始化。
[0022]其中,流音量范围是指由下限音量值与上限音量值限定的音频流可设置的音量取值范围。在安卓系统中,音频流的流音量范围指的是音频流音量调节的等级划分,具体来说,音频流的播放音量的大小实际是由具体音频播放硬件决定的,流音量范围是指将播放音量从零调节到最大值所需要的调节次数,例如,若流音量范围的取值为5则说明调节5次或按5次音量增大键即可将播放音量从零调节到最大值。
[0023]初始化过程中,可通过读写配置文件或设置属性的方式将桌面系统的音量控制值传递至安卓兼容环境。
[0024]步骤3、当用户在桌面系统中调整系统音量时,获取新的系统音量值本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多音频流音量的自动控制方法,其特征在于,包括以下步骤:桌面系统启动时根据桌面系统初始音量计算得到初始化的归一化音量控制值,在安卓兼容环境内统一设定各类音频流的流音量范围后,再采用初始化的音量控制值设置安卓兼容环境内各类音频流的初始音量值;桌面系统启动后当用户调整系统音量时,采用新的系统音量值设置桌面系统音量,确定用户当前控制的目标应用;若目标应用为桌面系统应用,安卓兼容环境则采用新的系统音量值设置所有音频流的音量值,若目标应用为安卓应用,安卓兼容环境则采用新的系统音量值设置该安卓应用的音量值。2.根据权利要求1所述的自动控制方法,其特征在于,所述桌面系统启动时根据桌面系统初始音量计算得到初始化的归一化音量控制值的方式为:采用系统音量范围对初始音量进行归一化得到初始化的音量控制值。3.根据权利要求1所述的自动控制方法,其特征在于,所述在安卓兼容环境内统一设定各类音频流的流音量范围的方式为:获取各类音频流的流音量范围,确定所有流音量范围中的最小下限音量值及最大上限音量值,由最小下限音量值及最大上限音量值形成新的流音量范围,将所有音频流的流音量范围设置为新的流音量范围。4.根据权利要求1所述的自动控制方法,其特征在于,所述采用初始化的音量控制值设置安卓兼容环境内各类音频流的初始音量值的方式为:安卓兼容环境接收到初始化的音量控制值,将所有音频流的初始音量值设置为初始化的音量控制值与新的流音量范围之积与最小下限音量值的求和结果。5.根据权利要求4所述的自动控制方法,其特征在于,所述安卓兼容环境接收到初始化的音量控制值的方式为:通过读写配置文件的方式获取初始化的音量控制值。6.根据权利要求4所...

【专利技术属性】
技术研发人员:温研
申请(专利权)人:北京麟卓信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1