CN106453940B - 一种调整音量的方法及装置 - Google Patents
一种调整音量的方法及装置 Download PDFInfo
- Publication number
- CN106453940B CN106453940B CN201610978198.XA CN201610978198A CN106453940B CN 106453940 B CN106453940 B CN 106453940B CN 201610978198 A CN201610978198 A CN 201610978198A CN 106453940 B CN106453940 B CN 106453940B
- Authority
- CN
- China
- Prior art keywords
- volume
- value
- volume value
- function
- current
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000007958 sleep Effects 0.000 description 15
- 241000331006 Euchaeta media Species 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000005059 dormancy Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
Landscapes
- Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
本发明提供了一种调整音量的方法及装置,所述方法包括:获取当前系统音量值;接收第一触发信号,基于所述第一触发信号定时采集当前环境音量值;根据所述当前系统音量值及所述当前环境音量值确定音量调整函数;根据所述音量调整函数调整所述当前系统音量值;如此,可以实时采集当前环境音量值,基于音量调整函数及当前环境音量值实时调整当前系统的音量值,整个音量调整过程完全不需要用户参与,进而提高了操作效率。
Description
技术领域
本发明涉及终端技术领域,尤其涉及一种调整音量的方法及装置。
背景技术
在终端设备使用过程中,最常见的操作就是音量调整,并且将音量调整到一定值后不会再有任何变化,当外界噪音强度发生变化的时候,需要再次对音量大小进行调整。
而音量调整过程全部是人为干预进行调解的,调解过程比较麻烦,降低了操作效率。
发明内容
针对现有技术存在的问题,本发明实施例提供了一种调整音量的方法及装置,用于解决现有技术中,在对终端设备进行音量调整时,需要手动调整,导致操作效率降低的技术问题。
本发明提供一种调整音量的方法,所述方法包括:
获取当前系统音量值;
接收第一触发信号,基于所述第一触发信号定时采集当前环境音量值;
根据所述当前系统音量值及所述当前环境音量值确定音量调整函数;
根据所述音量调整函数调整所述当前系统音量值。
上述方案中,根据所述音量调整函数调整所述当前系统音量值后,所述方法还包括:接收第二触发信号后,根据所述第二触发信号将调整后的音量值调整为初始值。
上述方案中,所述采集当前环境音量值,包括:
利用类构造函数AudioRecord构造AudioRecord的对象;
调用所述AudioRecord的对象中的启动函数startRecording启动音频采集功能;
调用所述AudioRecord的对象中的读取函数read()定时循环采集当前环境音量值的振幅A。
上述方案中,所述根据所述当前系统音量值及所述当前环境音量值确定音量调整函数,包括:
确定所述当前系统音量值的第一取值范围;
确定所述当前环境音量值的第二取值范围;
将所述第二取值范围划分为相应的取值子范围,将所述相应的取值子范围与所述第一取值范围中的相应音量值一一对应,获取相应的对应关系;
根据所述对应关系确定所述音量调整函数。
上述方案中,所述音量调整函数具体为:Y=(A/5462)+B;其中,所述A为所述当前环境音量值的振幅,所述B为当前系统音量值,所述Y为调整后的系统音量值。
本发明还提供一种调整音量的装置,所述装置包括:
获取单元,用于获取当前系统音量值及第一触发信号;
采集单元,用于基于所述第一触发信号定时采集当前环境音量值;
确定单元,用于根据所述当前系统音量值及所述当前环境音量值确定音量调整函数;
调整单元,用于根据所述音量调整函数调整所述当前系统音量值。
上述方案中,根据所述音量调整函数调整所述当前系统音量值后,所述调整单元还用于:接收第二触发信号时,根据所述第二触发信号将调整后的音量值调整为初始值。
上述方案中,所述采集单元采集当前环境音量值,具体包括:
利用类构造函数AudioRecord构造AudioRecord的对象;
调用所述AudioRecord的对象中的启动函数startRecording启动音频采集功能;
调用所述AudioRecord的对象中的读取函数read()定时循环采集当前环境音量值的振幅A。
上述方案中,所述确定单元包括:
第一确定子单元,用于确定所述当前系统音量值的第一取值范围;
第二确定子单元,确定所述当前环境音量值的第二取值范围;
划分子单元,用于将所述第二取值范围划分为相应的取值子范围;
对应子单元,用于将所述相应的取值子范围与所述第一取值范围中的相应音量值一一对应,获取相应的对应关系;
第三确定子单元,根据所述对应关系确定所述音量调整函数。
上述方案中,所述音量调整函数具体为:Y=(A/5462)+B;其中,所述A为所述当前环境音量值的振幅,所述B为当前系统音量值,所述Y为调整后的系统音量值。
本发明提供了一种调整音量的方法及装置,所述方法包括:获取当前系统音量值;接收第一触发信号,基于所述第一触发信号定时采集当前环境音量值;根据所述当前系统音量值及所述当前环境音量值确定音量调整函数;根据所述音量调整函数调整所述当前系统音量值;如此,可以实时采集当前环境音量值,基于音量调整函数及当前环境音量值实时调整当前系统的音量值,整个音量调整过程完全不需要用户参与,进而提高了操作效率。
附图说明
图1为本发明实施例一提供的音量调整方法流程示意图;
图2为本发明实施例二提供的音量调整装置结构示意图。
具体实施方式
为了解决在对终端设备进行音量调整时,需要手动调整,导致操作效率降低的技术问题,本发明提供了一种调整音量的方法及装置,所述方法包括:获取当前系统音量值;接收第一触发信号,基于所述第一触发信号定时采集当前环境音量值;根据所述当前系统音量值及所述当前环境音量值确定音量调整函数;根据所述音量调整函数调整所述当前系统音量值。
下面通过附图及具体实施例对本发明的技术方案做进一步的详细说明。
实施例一
本实施例提供一种调整音量的方法,如图1所示,所述方法包括:
S101,获取当前系统音量值。
本步骤中的主要目标是获取当前系统的音量值,并对当前系统的音量值进行储存,方便后期进行音量恢复的时候可以还原到调整前的系统音量值。
以Android终端设备为例,音量可以包括很多类型,比如:STREAM_ALARM警报、STREAM_MUSIC音乐回放即媒体音量、STREAM_NOTIFICATION窗口顶部状态栏、STREAM_RING铃声、STREAM_SYSTEM系统、STREAM_VOICE_CALL通话、STREAM_DTMF双音多频,拨号键的声音;不同类型的音量可以单独对其进行控制。
本实施例中主要是调整的是视频播放音量的大小,而视频播放音量是属于STREAM_SYSTEM系统音量的,因此,本步骤中主要获取的是STREAM_SYSTEM系统音量值。
在获取当前系统音量值时,具体过程如下:
首先获取AudioManager管理者对象,具体地,因Android系统中所有系统级别的服务都是通过统一的接口来进行访问的,当需要获取AudioManger音频管理者服务时,也需要通过调用系统提供的getSystemService(Context.AUDIO_SERVICE)函数来获取。
其中Context.AUDIO_SERVICE是Android系统定义的一个常数,其目的是用于告诉Android系统需要获取的是音频管理者对象。
通过上述函数的调用,Android系统会返回当前系统的音频管理者对象的实例audioManager。
当获取到audioManager后,通过audioManager调用其中的getStreamVolume(AudioManager.STREAM_SYSTEM)函数来获取当前系统的系统音量值。其中,所述AudioManager.STREAM_SYSTEM就是我们上文描述的STREAM_SYSTEM系统音量。
getStreamVolume函数最后返回当前系统的系统音量值,为了方便后文描述,将获取到的当前系统音量值标记为defaultSystemSound,即为系统音量初始值。
当获取到当前系统音量值后,通过SharedPreference储存所述当前系统音量值。
具体地,首先获取系统SharedPreferences的存储接口,通过函数PreferenceManager.getDefaultSharedPreferences(Context)就能够获取到系统默认的SharedPreferences。这里,存储接口实例sharedPreferences是Android提供的一个轻量级的数据存储工具。
通过sharedPreferences调用edit()函数获取到编辑接口editor
通过编辑接口editor调用putInt函数(功能:存储一个整形数据)将当前系统音量值存储到编辑接口中。
通过commit函数将存储到editor中的当前系统音量值进行提交至预先建立的XML文件中。
S102,接收第一触发信号,基于所述第一触发信号定时采集当前环境音量值。
本步骤中,所述第一触发信号比如可以为打开一个视频界面时,然后基于所述第一触发信号定时采集当前环境音量值,定时采集环境音量值的方法是通过定时器来实现周期性的获取的。本实施例中,为了保证定时周期准确,以Handler和Thread来当做定时器。
具体地,首先通过JDK提供的Thread类来开启一个子线程。其中,Thead类主要功能就是开启子线程。这里,是通过创建一个Thread的实例并调用其中的start方法,就能够在应用进程中启动一个新的子线程。
然后,利用休眠函数sleep实现定时;具体地,创建一个无线循环结构,在无线循环结构中调用sleep函数,系统就会将该子线程任务进行休眠处理。当休眠函数执行完成后说明已经定时成功。这里,休眠函数所设定的休眠周期可以为5~60s;本实施例中休眠周期为5s。
当休眠函数执行完成后,调用handler中的post方法将定时超时的消息发送给主线程。这样主线程就可以定期的接收到超时消息,当主线程接收到消息后,需要获取当前环境音量。这里,每一个应用程序只有一个主线程,可以有多个子线程,主线程主要处理UI相关业务逻辑。
其中,主线程获取当前环境音量值的具体过程如下:
利用类构造函数AudioRecord构造AudioRecord的对象。
通过调用AudioRecord的对象audioRecord中的启动函数startRecording启动音频采集功能;当audioRecord函数执行完成以后,系统就开始进行音频数据的采集工作了。
通过调用读取函数read()定时循环采集当前环境音量值的振幅A,通过循环采集就能够不停的获取到当前音频的振幅大小值了。
这里,如果系统希望停止采集的时,需要将申请的系统音频相关的资源进行释放。具体是通过调用audioRecord中的stop函数停止掉音频采集的功能。然后再调用audioRecord中的release函数来释放当前的资源。
S103,根据所述当前系统音量值及所述当前环境音量值确定音量调整函数。
本步骤中,所述根据所述当前系统音量值及所述当前环境音量值确定音量调整函数,包括:
确定所述当前系统前音量值的第一取值范围;所述第一取值范围一般为0~7;确定所述当前环境音量值的第二取值范围;所述第二取值范围为0~32767。
将所述第二取值范围划分为相应的取值子范围,将所述相应的取值子范围与所述第一取值范围中的相应音量值一一对应,获取相应的对应关系。
具体地,因当前系统音量值为0时,是静音状态,因此为了和系统音量有一个一一对应关系,默认是从当前系统音量的最小值2开始划分,这样划分后对应关系如下:
0<=A<5462当前系统音量为2
5462*1<=A<5462*2当前系统音量为3
5462*2<=A<5462*3当前系统音量为4
5462*3<=A<5462*4当前系统音量为5
5462*4<=A<5462*5当前系统音量为6
5462*5<=A<=32767当前系统音量为7
通过上述规则的划分我们就建立起来音频振幅大小和系统音量之间的一个一一对应关系。
当对应关系确定好之后,根据所述对应关系确定所述音量调整函数。
其中,所述音量调整函数如公式(1)所示:
Y=(A/5462)+B;(1)
公式(1)中,所述A为所述当前环境音量值的振幅,所述B为当前系统音量值,与上文中的defaultSystemSound相同;所述Y为调整后的系统音量值。
S104,根据所述音量调整函数调整所述当前系统音量值。
本步骤中,当音量调整函数确定好之后,可以根据音量调整函数调整所述当前系统音量值。
具体地,首先通过调用系统提供的getSystemService(Context.AUDIO_SERVICE)函数来获取音频管理者对象AudioManager。其中Context.AUDIO_SERVICE是Android系统定义的一个常数,其目的是用于告诉Android系统需要获取的是音频管理者对象。
通过上述函数的调用,Android系统会返回当前系统的音频管理者对象的实例audioManager。
当接收到音频管理者对象的实例audioManager后,调用其中的setStreamVolume(AudioManager.STREAM_SYSTEM,B)函数来获取当前系统音量值。其中AudioManager.STREAM_SYSTEM就是上文描述的STREAM_SYSTEM系统音量。其中setSound是需要设置的实际系统音量值。
setStreamVolume函数调用以后系统音量就变为setSound值了,此时系统音量的值就会发生相应的变化。
当然,如果在视频播放过程中,接收到第三方触发事件(第二触发信号)后,需要根据所述第二触发信号将调整后的音量值调整为初始值,所述第三方触发事件是导致直播界面退出的事件,比如按返回按键,或者电话来了,或者应用切换等。
监听第三方事件的过程通过直播界面的Activity的生命周期中来进行监听的。当直播界面不可见的时候,系统会回调直播界面中的onPause函数,所以可以在onPause函数中来处理音量还原的操作。
音量还原时,首先读取之前存入的defaultSystemSound(系统音量初始值),然后再调用系统音量设置接口对系统音量值进行设置。
首先通过函数PreferenceManager.getDefaultSharedPreferences(Context)就能够获取到SharedPreferences存储接口实例sharedPreferences。
通过sharedPreferences调用其中的edit()函数获取到编辑接口editor;通过编辑接口editor调用其中的getInt函数,来获取之前存储的defaultSystemSound的值。其中getInt函数需要传递defaultSystemSound存储时所对应的键值,获取到之前存储的defaultSystemSound值后,将系统音量值修改为defaultSystemSound值即可。
实施例二
相应于实施例一,本实施例还提供一种调整音量的装置,如图2所示,所述装置包括:获取单元21、采集单元22、确定单元23、调整单元24;其中,
获取单元21用于获取并存储当前系统音量值,方便后期进行音量恢复的时候可以还原到调整前的系统音量值。
以Android终端设备为例,音量可以包括很多类型,比如:STREAM_ALARM警报、STREAM_MUSIC音乐回放即媒体音量、STREAM_NOTIFICATION窗口顶部状态栏、STREAM_RING铃声、STREAM_SYSTEM系统、STREAM_VOICE_CALL通话、STREAM_DTMF双音多频,拨号键的声音;不同类型的音量可以单独对其进行控制。
本实施例中主要是调整的是视频播放音量的大小,而视频播放音量是属于STREAM_SYSTEM系统音量的,因此,本步骤中主要获取的是STREAM_SYSTEM系统音量值。
获取单元21在获取当前系统音量值时,具体过程如下:
首先获取AudioManager管理者对象,具体地,因Android系统中所有系统级别的服务都是通过统一的接口来进行访问的,当需要获取AudioManger音频管理者服务时,也需要通过调用系统提供的getSystemService(Context.AUDIO_SERVICE)函数来获取。
其中Context.AUDIO_SERVICE是Android系统定义的一个常数,其目的是用于告诉Android系统需要获取的是音频管理者对象。
通过上述函数的调用,Android系统会返回当前系统的音频管理者对象的实例audioManager。
当获取到audioManager后,通过audioManager调用其中的getStreamVolume(AudioManager.STREAM_SYSTEM)函数来获取当前系统的系统音量值。其中,所述AudioManager.STREAM_SYSTEM就是我们上文描述的STREAM_SYSTEM系统音量。
getStreamVolume函数最后返回当前系统的系统音量值,为了方便后文描述,将获取到的当前系统音量值标记为defaultSystemSound,即为系统音量初始值。
当获取到当前系统音量值后,获取单元21还通过SharedPreference储存所述当前系统音量值。
具体地,首先获取系统SharedPreferences的存储接口,通过函数PreferenceManager.getDefaultSharedPreferences(Context)就能够获取到系统默认的SharedPreferences。这里,存储接口实例sharedPreferences是Android提供的一个轻量级的数据存储工具。
通过sharedPreferences调用edit()函数获取到编辑接口editor
通过编辑接口editor调用putInt函数(功能:存储一个整形数据)将当前系统音量值存储到编辑接口中。
通过commit函数将存储到editor中的当前系统音量值进行提交至预先建立的XML文件中。
当获取到当前系统音量值,接收到第一触发信号后,采集单元22用于基于所述第一触发信号定时采集当前环境音量值;具体地,所述采集单元22是通过定时器来实现周期性的获取的。本实施例中,为了保证定时周期准确,以Handler和Thread来当做定时器;所述第一触发信号比如可以为打开一个视频界面时,
采集单元22首先通过JDK提供的Thread类来开启一个子线程。其中,Thead类主要功能就是开启子线程。这里,是通过创建一个Thread的实例并调用其中的start方法,就能够在应用进程中启动一个新的子线程。
然后,利用休眠函数sleep实现定时;具体地,创建一个无线循环结构,在无线循环结构中调用sleep函数,系统就会将该子线程任务进行休眠处理。当休眠函数执行完成后说明已经定时成功。这里,休眠函数所设定的休眠周期可以为5~60s;本实施例中休眠周期为5s。
当休眠函数执行完成后,采集单元22调用handler中的post方法将定时超时的消息发送给主线程。这样主线程就可以定期的接收到超时消息,当主线程接收到消息后,需要获取当前环境音量。这里,每一个应用程序只有一个主线程,可以有多个子线程,主线程主要处理UI相关业务逻辑。
其中,主线程获取当前环境音量值的具体过程如下:
利用类构造函数AudioRecord构造AudioRecord的对象。
通过调用AudioRecord的对象audioRecord中的启动函数startRecording启动音频采集功能;当audioRecord函数执行完成以后,系统就开始进行音频数据的采集工作了。
采集单元22通过调用读取函数read()定时循环采集当前环境音量值的振幅A,通过循环采集就能够不停的获取到当前音频的振幅大小值了。
这里,如果系统希望停止采集的时,需要将申请的系统音频相关的资源进行释放。具体是通过调用audioRecord中的stop函数停止掉音频采集的功能。然后再调用audioRecord中的release函数来释放当前的资源。
当采集到当前环境音量值后,所述确定单元23用于根据所述当前系统音量值及所述当前环境音量值确定音量调整函数;具体地,所述确定单元23确定所述当前系统前音量值的第一取值范围;所述第一取值范围一般为0~7;确定所述当前环境音量值的第二取值范围;所述第二取值范围为0~32767。
将所述第二取值范围划分为相应的取值子范围,将所述相应的取值子范围与所述第一取值范围中的相应音量值一一对应,获取相应的对应关系。
具体地,因当前系统音量值为0时,是静音状态,因此为了和系统音量有一个一一对应关系,默认是从当前系统音量的最小值2开始划分,这样划分后对应关系如下:
0<=A<5462当前系统音量为2
5462*1<=A<5462*2当前系统音量为3
5462*2<=A<5462*3当前系统音量为4
5462*3<=A<5462*4当前系统音量为5
5462*4<=A<5462*5当前系统音量为6
5462*5<=A<=32767当前系统音量为7
通过上述规则的划分就可以建立起来音频振幅大小和系统音量之间的一个一一对应关系。
当对应关系确定好之后,根据所述对应关系确定所述音量调整函数。
其中,所述音量调整函数如公式(1)所示:
Y=(A/5462)+B;(1)
公式(1)中,所述A为所述当前环境音量值的振幅,所述B为当前系统音量值,与上文中的defaultSystemSound相同;所述Y为调整后的系统音量值。
当音量调整函数确定之后,所述调整单元24用于根据所述音量调整函数调整所述当前系统音量值。
具体地,所述调整单元24首先通过调用系统提供的getSystemService(Context.AUDIO_SERVICE)函数来获取音频管理者对象AudioManager。其中Context.AUDIO_SERVICE是Android系统定义的一个常数,其目的是用于告诉Android系统需要获取的是音频管理者对象。
通过上述函数的调用,Android系统会返回当前系统的音频管理者对象的实例audioManager。
当接收到音频管理者对象的实例audioManager后,调用其中的setStreamVolume(AudioManager.STREAM_SYSTEM,B)函数来获取当前系统音量值。其中AudioManager.STREAM_SYSTEM就是上文描述的STREAM_SYSTEM系统音量。其中setSound是需要设置的实际系统音量值。
setStreamVolume函数调用以后系统音量就变为setSound值了,此时系统音量的值就会发生相应的变化。
当然,如果在视频播放过程中,接收到第三方触发事件(第二触发信号)后,所述调整单元24还需要根据所述第二触发信号将调整后的音量值调整为初始值,所述第三方触发事件是导致直播界面退出的事件,比如按返回按键,或者电话来了,或者应用切换等。
监听第三方事件的过程通过直播界面的Activity的生命周期中来进行监听的。当直播界面不可见的时候,系统会回调直播界面中的onPause函数,所以可以在onPause函数中来处理音量还原的操作。
音量还原时,首先读取之前存入的defaultSystemSound(系统音量初始值),然后再调用系统音量设置接口对系统音量值进行设置。
首先通过函数PreferenceManager.getDefaultSharedPreferences(Context)就能够获取到SharedPreferences存储接口实例sharedPreferences。
通过sharedPreferences调用其中的edit()函数获取到编辑接口editor;通过编辑接口editor调用其中的getInt函数,来获取之前存储的defaultSystemSound的值。其中getInt函数需要传递defaultSystemSound存储时所对应的键值,获取到之前存储的defaultSystemSound值后,将系统音量值修改为defaultSystemSound值即可。
本发明的一个或多个实施例带来的有益效果是:
本发明提供了一种调整音量的方法及装置,所述方法包括:获取当前系统音量值;接收第一触发信号,基于所述第一触发信号定时采集当前环境音量值;根据所述当前系统音量值及所述当前环境音量值确定音量调整函数;根据所述音量调整函数调整所述当前系统音量值;如此,可以实时采集当前环境音量值,基于音量调整函数及当前环境音量值实时调整当前系统的音量值,整个音量调整过程完全不需要用户参与,进而提高了操作效率;并且利用定时器来进行定时监听,能够达到功耗和检测的平衡性;使用SharedPreferences来进行存储当前系统音量值,可以在够结束动态调整后将音量系统音量初始值,不会对系统设置造成变更,不需要用户再重新设置。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种调整音量的方法,其特征在于,所述方法包括:
获取当前系统音量值;
接收第一触发信号,基于所述第一触发信号定时采集当前环境音量值;
所述采集当前环境音量值,包括:
利用类构造函数AudioRecord构造AudioRecord的对象;
调用所述AudioRecord的对象中的启动函数startRecording启动音频采集功能;
调用所述AudioRecord的对象中的读取函数read()定时循环采集当前环境音量值的振幅A;
根据所述当前系统音量值及所述当前环境音量值确定音量调整函数;
所述音量调整函数具体为:Y=(A/5462)+B;其中,所述A为所述当前环境音量值的振幅,所述B为当前系统音量值,所述Y为调整后的系统音量值;
根据所述音量调整函数调整所述当前系统音量值。
2.如权利要求1所述的方法,其特征在于,根据所述音量调整函数调整所述当前系统音量值后,所述方法还包括:接收第二触发信号后,根据所述第二触发信号将调整后的音量值调整为初始值。
3.如权利要求1所述的方法,其特征在于,所述根据所述当前系统音量值及所述当前环境音量值确定音量调整函数,包括:
确定所述当前系统音量值的第一取值范围;
确定所述当前环境音量值的第二取值范围;
将所述第二取值范围划分为相应的取值子范围,将所述相应的取值子范围与所述第一取值范围中的相应音量值一一对应,获取相应的对应关系;
根据所述对应关系确定所述音量调整函数。
4.一种调整音量的装置,其特征在于,所述装置包括:
获取单元,用于获取当前系统音量值及第一触发信号;
采集单元,用于基于所述第一触发信号定时采集当前环境音量值;
所述采集单元采集当前环境音量值,具体包括:
利用类构造函数AudioRecord构造AudioRecord的对象;
调用所述AudioRecord的对象中的启动函数startRecording启动音频采集功能;
调用所述AudioRecord的对象中的读取函数read()定时循环采集当前环境音量值的振幅A;
确定单元,用于根据所述当前系统音量值及所述当前环境音量值确定音量调整函数;
所述音量调整函数具体为:Y=(A/5462)+B;其中,所述A为所述当前环境音量值的振幅,所述B为当前系统音量值,所述Y为调整后的系统音量值;
调整单元,用于根据所述音量调整函数调整所述当前系统音量值。
5.如权利要求4所述的装置,其特征在于,根据所述音量调整函数调整所述当前系统音量值后,所述调整单元还用于:接收第二触发信号时,根据所述第二触发信号将调整后的音量值调整为初始值。
6.如权利要求4所述的装置,其特征在于,所述确定单元包括:
第一确定子单元,用于确定所述当前系统音量值的第一取值范围;
第二确定子单元,确定所述当前环境音量值的第二取值范围;
划分子单元,用于将所述第二取值范围划分为相应的取值子范围;
对应子单元,用于将所述相应的取值子范围与所述第一取值范围中的相应音量值一一对应,获取相应的对应关系;
第三确定子单元,根据所述对应关系确定所述音量调整函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610978198.XA CN106453940B (zh) | 2016-11-07 | 2016-11-07 | 一种调整音量的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610978198.XA CN106453940B (zh) | 2016-11-07 | 2016-11-07 | 一种调整音量的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106453940A CN106453940A (zh) | 2017-02-22 |
CN106453940B true CN106453940B (zh) | 2019-10-25 |
Family
ID=58207444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610978198.XA Active CN106453940B (zh) | 2016-11-07 | 2016-11-07 | 一种调整音量的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106453940B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107479852B (zh) * | 2017-08-18 | 2019-08-30 | Oppo广东移动通信有限公司 | 音量调节方法、装置、终端设备及存储介质 |
CN112533057A (zh) * | 2019-09-18 | 2021-03-19 | 深圳Tcl新技术有限公司 | 一种智能调整音量的方法、系统及存储介质 |
CN112562746B (zh) * | 2020-12-09 | 2022-05-17 | 四川长虹电器股份有限公司 | 一种播放器音量动态控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1669862A2 (en) * | 1999-11-16 | 2006-06-14 | Nokia Corporation | Method relating to and communication device with setting parameter groups |
CN102523404A (zh) * | 2011-11-14 | 2012-06-27 | 深圳Tcl新技术有限公司 | 自动控制音量的方法、装置和设备 |
-
2016
- 2016-11-07 CN CN201610978198.XA patent/CN106453940B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1669862A2 (en) * | 1999-11-16 | 2006-06-14 | Nokia Corporation | Method relating to and communication device with setting parameter groups |
CN102523404A (zh) * | 2011-11-14 | 2012-06-27 | 深圳Tcl新技术有限公司 | 自动控制音量的方法、装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106453940A (zh) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10600415B2 (en) | Method, apparatus, device, and storage medium for voice interaction | |
CN105430547B (zh) | 蓝牙耳机的休眠方法及装置 | |
WO2020077628A1 (zh) | 信道监听方法及装置 | |
JP6355735B2 (ja) | 省エネルギーモードを開始するための方法及び装置 | |
CN106453940B (zh) | 一种调整音量的方法及装置 | |
WO2017113660A1 (zh) | 应用程序管理方法及装置 | |
CN105933539B (zh) | 音频播放的控制方法、装置及终端 | |
CN109620454B (zh) | 控制刷牙力度的方法、装置、电子设备及存储介质 | |
WO2016078233A1 (zh) | 录音方法、装置及终端 | |
CN103347115A (zh) | 一种控制电子产品的输出音量的方法和装置以及一种手机 | |
WO2018058815A1 (zh) | 信息提醒方法及装置 | |
KR101676216B1 (ko) | 메시지 발송 방법, 장치, 프로그램 및 기록매체 | |
CN104980592A (zh) | 一种智能移动终端对讲方法及其装置 | |
WO2014154077A1 (zh) | 一种结束通话的方法、装置及移动终端 | |
CN110349578A (zh) | 设备唤醒处理方法及装置 | |
CN111857849A (zh) | 唤醒处理方法、装置、电子设备及存储介质 | |
TW201325192A (zh) | 基於環境回復簡訊的電子裝置及方法 | |
CN106851595B (zh) | 有序广播处理方法、装置和终端设备 | |
CN108668199B (zh) | 一种基于增益调整的扬声器排液方法及电子设备 | |
CN105516605A (zh) | 一种拍摄方法和装置 | |
CN113067757B (zh) | 信息发送和存储方法、装置和介质 | |
CN110298001A (zh) | 日志数据包的获取方法和装置及计算机可读存储介质 | |
CN110336912B (zh) | 语音播报方法、装置、设备和存储介质 | |
CN110333838A (zh) | 一种音量的控制方法、终端及计算机存储介质 | |
CN108231037A (zh) | 确定屏幕亮度设置范围的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |