CN110175015A - 一种控制终端设备的音量的方法、装置及终端设备 - Google Patents
一种控制终端设备的音量的方法、装置及终端设备 Download PDFInfo
- Publication number
- CN110175015A CN110175015A CN201910454783.3A CN201910454783A CN110175015A CN 110175015 A CN110175015 A CN 110175015A CN 201910454783 A CN201910454783 A CN 201910454783A CN 110175015 A CN110175015 A CN 110175015A
- Authority
- CN
- China
- Prior art keywords
- audio data
- period
- mentioned
- volume
- preset instructions
- 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.)
- Granted
Links
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/165—Management of the audio stream, e.g. setting of volume, audio stream path
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Circuit For Audible Band Transducer (AREA)
- Telephone Function (AREA)
Abstract
本申请公开了一种控制终端设备的音量的方法、装置、终端设备及计算机可读存储介质,其中,该控制终端设备的音量的方法,包括:检测终端设备是否获取到预设指令;若所述终端设备获取到所述预设指令,则根据所述预设指令和当前时间,确定与所述预设指令相关联的预设线程的线程循环ThreadLoop的N个周期,并根据所述线程循环的循环顺序,依次获取所述N个周期中的音频数据,所述N为大于0的整数;依次调整所述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,其中,所述音频数据组合包括由所述N个周期的每一个周期中的音频数据按照时间顺序得到的组合。
Description
技术领域
本申请属于信息处理技术领域,尤其涉及一种控制终端设备的音量的方法、装置、终端设备及计算机可读存储介质。
背景技术
日常使用中,若用户中断或者开始播放终端设备上的诸如电话铃声、闹钟、消息提示音等音频,在声音开始或者结束时终端设备可能会发出一种爆破音,又称为pop音,影响终端设备的使用效果,并影响用户体验。
发明内容
有鉴于此,本申请提供了一种控制终端设备的音量的方法、装置、终端设备及计算机可读存储介质,可以解决中断或者开始播放终端设备上的诸如电话铃声、闹钟、消息提示音等音频时,终端设备产生pop音的问题。
本申请的第一方面提供了一种控制终端设备的音量的方法,包括:
检测终端设备是否获取到预设指令;
若上述终端设备获取到上述预设指令,则根据上述预设指令和当前时间,确定与上述预设指令相关联的预设线程的线程循环ThreadLoop的N个周期,并根据上述线程循环的循环顺序,依次获取上述N个周期中的音频数据,上述N为大于0的整数;
依次调整上述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,其中,上述音频数据组合包括由上述N个周期的每一个周期中的音频数据按照时间顺序得到的组合。
本申请的第二方面提供了一种控制终端设备的音量的装置,包括:
检测模块,用于检测终端设备是否获取到预设指令;
获取模块,用于若上述终端设备获取到上述预设指令,则根据上述预设指令和当前时间,确定与上述预设指令相关联的预设线程的线程循环ThreadLoop的N个周期,并根据上述线程循环的循环顺序,依次获取上述N个周期中的音频数据,上述N为大于0的整数;
调整模块,用于依次调整上述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,其中,上述音频数据组合包括由上述N个周期的每一个周期中的音频数据按照时间顺序得到的组合。
本申请的第三方面提供了一种终端设备,上述终端设备包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上第一方面的方法的步骤。
本申请的第四方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上第一方面的方法的步骤。
本申请的第五方面提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。
由上可见,本申请可以检测终端设备是否获取到预设指令;若上述终端设备获取到上述预设指令,则根据上述预设指令和当前时间,确定与上述预设指令相关联的预设线程的线程循环ThreadLoop的N个周期,并根据上述线程循环的循环顺序,依次获取上述N个周期中的音频数据,上述N为大于0的整数;依次调整上述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,其中,上述音频数据组合包括由上述N个周期的每一个周期中的音频数据按照时间顺序得到的组合。本申请通过确定与上述预设指令相关联的预设线程的线程循环ThreadLoop的N个周期,并根据上述线程循环的循环顺序,依次获取上述N个周期中的音频数据,并依次调整上述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,可以使得上述音频数据根据上述调整结果,在N个周期内,将上述音频数据的音量逐渐调整至上述预设音量阈值,例如在接收到指示停止正在播放的指定音频的指令时,可以将指定音频的音量逐渐降低,从而避免了由于音频突然中断或者开始播放时可能突然出现的pop音,从而可以解决中断或者开始播放终端设备上的诸如电话铃声、闹钟、消息提示音等音频时,终端设备产生pop音的问题,提高了用户体验,而且本申请的方案简单易行,具有较强的易用性和实用性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的控制终端设备的音量的方法的一种实现流程示意图;
图2是本申请实施例提供的控制终端设备的音量的方法的另一种实现流程示意图;
图3是本申请实施例提供的控制终端设备的音量的方法的再一种实现流程示意图;
图4是本申请实施例提供的控制终端设备的音量的装置的结构示意图;
图5是本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
具体实现中,本申请实施例中描述的终端设备包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,上述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端设备。然而,应当理解的是,终端设备可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
终端设备支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
可以在终端设备上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为了说明本申请上述的技术方案,下面通过具体实施例来进行说明。
实施例一
参见图1,是本申请实施例提供的控制终端设备的音量的方法的实现流程示意图,该控制终端设备的音量的方法可以包括以下步骤:
步骤101,检测终端设备是否获取到预设指令。
本申请实施例中,上述终端设备可以用于播放音频。上述终端设备可以是台式电脑、服务器、移动终端(如平板电脑、手机等等)以及可穿戴设备等等中的至少一种,上述终端设备的种类、个数以及具体包含的硬件、软件以及固件等可以根据实际应用场景来确定,在此不做限制。
上述预设指令可以用于指示上述终端设备执行指定的操作。例如,上述预设指令可以指示上述终端设备中的系统(如Android操作系统等)调用指定函数、执行指定功能或者开启指定服务等,也可以指示上述终端设备中的应用程序的指定操作。上述终端设备获取到上述预设指令的方式可以有多种。例如,可以是监听到上述终端设备的指定事件后获得上述预设指令,也可以是接收到用户通过触摸屏或者实体按键等方式输入的信息而获得上述预设指令,或者由其他设备通过无线通信方式或者有线通信方式等传输信息至上述终端设备,并由上述终端设备接收到。
示例性的,上述预设指令可以包括指示上述终端设备停止或者暂停指定音频的播放的指令。上述预设指令可以在检测到指定函数的调用(如针对与上述预设指令相关联的预设线程调用flush函数的调用)、指定功能的启动或者完成或者获取到指定信息时生成。
步骤102,若上述终端设备获取到上述预设指令,则根据上述预设指令和当前时间,确定与上述预设指令相关联的预设线程的线程循环ThreadLoop的N个周期,并根据上述线程循环的循环顺序,依次获取上述N个周期中的音频数据,上述N为大于0的整数。
本申请实施例中,上述线程循环ThreadLoop可以使得对应的预设线程通过循环处理数据,其中,上述线程循环的一个周期可以根据上述预设线程中包含的操作和流程来定义,例如,一个周期可以包括由指定起始操作开始,至指定结束操作结束的一系列操作,其中,各个周期之间的操作和流程可以相同或者相似,也可以存在差异。在一个示例中,本申请实施例中的终端设备的操作系统可以包含Android操作系统,从而可以通过Android操作系统实现线程循环ThreadLoop等功能,但上述终端设备的操作系统可以不局限于Android操作系统,若存在具有其他操作系统的终端设备也可以实现线程循环ThreadLoop等功能,那么上述终端设备的操作系统也可以是其他操作系统。
本申请实施例中,可以根据预设指令的具体内容以及预设规则,获取上述线程循环当前的周期以及之后的N-1个周期,也可以获取与当前时间间隔预设时间之后的N-1个周期等等。需要说明的是,上述N可以取1,也就是说,可以仅获取上述线程循环在当前的周期中的音频数据。当然,上述N也可以取其他大于1的整数值,上述N的具体取值可以根据实际应用场景及需求来确定。
其中,上述预设线程可以是预设的用于执行指定任务(如用于指定的音频数据处理)的线程。示例性的,Android操作系统为例,上述预设线程可以是在应用层的某一应用或者功能启动后,在Native层创建与该应用或者功能相对应的线程作为预设线程。上述线程循环的循环顺序可以指示上述线程循环的周期的先后顺序。上述线程的线程循环中的一个周期的音频数据的获取方式可以根据上述预设线程的设置方式来确定。
以Android操作系统为例,Android操作系统中的Native层具有Audiotrack类和AudioFlinger类,并且,在上述预设线程中,可以具有Audiotrack和audioflinger的共享缓存(buffer),上述共享buffer也可以称为mCblk。在每一个周期中,上述Audiotrack可以向上述共享buffer写入音频数据,上述AudioFlinger可以从上述共享buffer读取音频数据,并且每一个周期中,还可以在特定时刻更新上述共享buffer的相关存储信息,如更新上述共享buffer中待读取的上述音频数据的有效数据前前端位置以及有效数据后端位置、待读取的音频数据的大小等等。上述共享内存可以包括一个或多个子内存空间。上述共享buffer的大小以及个数在此不作限定。此外,需要说明的是,可以从共享buffer中获取音频数据,也可以获取原始音频数据,再进行其他音频处理(例如混音、采样、去噪或者传输至指定应用程序进行处理等等)后得到上述音频数据。
步骤103,依次调整上述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,其中,上述音频数据组合包括由上述N个周期的每一个周期中的音频数据按照时间顺序得到的组合。
本申请实施例中,上述依次调整上述N个周期的每一个周期中的音频数据的音量的时机在此不作限定,例如,可以在每个周期结束时,获取到该周期的音频数据并调整该周期的音频数据的音量,也可以在获取到两个或以上周期的音频数据后,统一调整该两个或以上周期的音频数据的音量。不同周期的音量的调整方式可以相同也可以不同。
本申请实施例中,在终端设备的相应的软件系统中,上述音频数据组合可以没有实际的定义或者没有进行相应的存储,而仅仅用于表述由上述N个周期的每一个周期中的音频数据按照时间顺序得到的组合的音量的变化状态(即收敛至预设音量阈值)。当然,上述音频数据组合也可以存在实际的定义或者进行相应的存储。
上述依次调整上述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,可以使得根据上述线程循环的循环顺序获得的上述音频数据组合,根据时间先后顺序依次播放时的音量最终收敛至预设音量阈值。
本申请实施例中,上述收敛可以指示音量向某一值靠近甚至最终达到。由于在实际应用中,上述线程循环以及音频播放等动作可能存在时间限制,因此本申请实施例中,上述音量的收敛也可以是在特定的时间段内或者任务中的音量的收敛。上述音量收敛至预设音量阈值可以包括由相对的高音量收敛至相对的低音量或0,也可以包括由相对的低音量收敛至相对的高音量。上述音量的收敛的方式可以有多种,例如,上述音频数据组合的音量可以随时间通过指数变化的形式由预设的初始播放音量收敛至上述预设音量阈值,或者通过线性变化的形式由预设的初始播放音量收敛至上述预设音量阈值,或者通过分段直线的形式由预设的初始播放音量收敛至上述预设音量阈值等等。其中,上述初始播放音量可以是获取到上述预设指令时,上述终端设备播放音频时的音量,或者系统中预设的对于上述音频数据的播放音量等等。
本申请实施例中,上述N的取值可以控制上述N个周期的音频数据的时长,从而控制要调整音量的音频数据的时长,并且,通过不同调整方式来依次调整上述N个周期的每一个周期中的音频数据的音量,可以获得不同的音量变化效果,从而适应不同应用场景的需要。在实际应用中,可以通过调整N的取值以及选择不同的音量调整方式来调整上述N个周期的每一个周期中的音频数据的音量,从而根据不同场景实现个性化调整。
可选的,上述依次调整上述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,包括:
基于线性变化的方式、指数变化的方式和/或分段变化的方式,依次调整上述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值。
其中,可以是研发人员在上述终端设备的软件系统中自定义上述线性变化的方式、指数变化的方式和/或分段变化的方式,也可以通过上述终端设备本身的操作系统自带的功能、参数来设置上述线性变化的方式、指数变化的方式和/或分段变化的方式。其中,上述分段变化的方式中,存在的段数、不同段中的变化方式等等的设置可以有多种方式。以Android操作系统为例,可以通过设置AudioMixer的参数为AudioMixer::RAMP_VOLUME,并设置上述线程循环的各个周期的目标音量,以使得各个周期中的音频数据的音量分别收敛至对应的目标音量。上述线性变化、指数变化以及分段变化中的具体的参数设置(例如,上述线性变化中的斜率、上述分段变化中的段数和每一段中的变化方式、指数变化中的底数和指数等等参数中的一个或多个)可以根据实际应用场景进行设置。
本申请实施例通过确定与上述预设指令相关联的预设线程的线程循环ThreadLoop的N个周期,并根据上述线程循环的循环顺序,依次获取上述N个周期中的音频数据,并依次调整上述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,可以使得上述音频数据根据上述调整结果,在N个周期内,将上述音频数据的音量逐渐调整至上述预设音量阈值,例如在接收到指示停止正在播放的指定音频的指令时,可以将指定音频的音量逐渐降低,从而避免了由于音频突然中断或者开始播放时可能突然出现的pop音,从而可以解决中断或者开始播放终端设备上的诸如电话铃声、闹钟、消息提示音等音频时,终端设备产生pop音的问题,提高了用户体验,而且简单易行,具有较强的易用性和实用性。
实施例二
在上述实施例的基础上,参见图2,是本申请实施例提供的控制终端设备的音量的方法的另一实现流程示意图,该控制终端设备的音量的方法可以包括以下步骤:
步骤201,检测终端设备是否获取到预设指令,上述预设指令包括第一预设指令,上述第一预设指令指示上述终端设备停止或者暂停播放第一音频;
示例性的,本申请实施例中,上述第一预设指令可以通过在检测到指定函数的调用(如针对与上述第一预设指令相关联的预设线程调用flush函数的调用)、指定功能的启动或者完成或者获取到指定信息时生成。上述第一音频可以是上述终端设备中正在播放的音频中的一个或多个,上述第一音频的播放形式再次不作限定。以Android操作系统为例,可以通过MediaPlayer等方式来播放第一音频,此外,也可以通过第三方应用程序等方式来播放第一音频,在此不做限定。
步骤202,若终端设备获取到上述第一预设指令,则获取第一线程的线程循环的当前M个周期中的第一音频数据,其中,上述第一线程与上述第一预设指令相关联,上述第一音频数据与上述第一音频中的第一部分相对应,上述M为大于0的整数;
本申请实施例中,上述M的取值可以根据实际应用场景来确定。上述第一音频数据可以对应于在获取到上述第二预设指令之后,上述第一音频中的待播的音频的一部分或全部,若上述M的取值较大,则获取到的第一音频数据的数据量较大,反之,则获取到的第一音频数据的数据量较小。上述第一线程可以与上述第一预设指令相关联。上述第一音频数据可以通过指定的处理(如转换、重采样等等)后通过上述终端设备进行播放。
步骤203,根据线程循环的循环顺序,依次对第一线程的线程循环中的当前M个周期中的第一音频数据执行预设操作;
本申请实施例中,上述预设操作可以是预先设定的对上述第一音频的播放操作。上述预设操作中的播放参数(如音量、音频处理方式等)可以与在获取到上述第一预设指令之前,上述终端设备对上述第一音频的播放参数相同;当然,也可以设置上述预设操作中的播放参数为其他值,或者设置上述预设操作与在获取到上述第一预设指令之前,上述终端设备对上述第一音频的操作不同,例如,上述预设操作包括使得上述第一音频数据的音量随播放时间,以预设斜率通过线性变化的方式降低的操作等等。上述当前M个周期可以指从当前时间所处的周期开始的M个周期。
步骤204,根据线程循环的循环顺序,依次获取上述当前M个周期的后续K个周期的第二音频数据,上述第二音频数据与上述第一音频中的第二部分相对应,上述第二部分与上述第一部分不同,上述K为大于0的整数;
本申请实施例中,上述第一音频中的第二部分可以为播放顺序在上述第一音频中的第一部分之后的一部分音频。上述K的取值可以与上述M相同,也可以不同。
步骤205,根据第一预设规则,将第一音频数据组合的音量收敛至第一音量阈值,其中,上述第一音频数据组合包括由上述后续K个周期的第二音频数据得到的组合。
本申请实施例中,上述第一音频数据组合可以没有实际的定义或者没有进行相应的存储,而仅仅用于表述由上述K个周期的每一个周期中的音频数据按照时间顺序得到的组合的音量的变化状态(即收敛至第一预设音量阈值)。当然,上述第一音频数据组合也可以存在实际的定义或者进行相应的存储。
由于上述第一预设指令指示上述终端设备停止或者暂停播放第一音频,因此,将第一音频数据组合的音量收敛至第一音量阈值的过程可以是上述第一音频数据组合中的各个音频数据随播放时间的先后顺序逐渐降低至第一音量阈值的过程。上述第一预设规则可以指示上述第一音频数据组合的音量的变化规则,示例性的,可以指示上述终端设备基于线性变化的方式、指数变化的方式和/或分段变化的方式,将第一音频数据组合的音量收敛至第一音量阈值。
本申请实施例中,上述根据第一预设规则,将第一音频数据组合的音量收敛至第一音量阈值的时机在此不作限定,例如,可以在每个周期结束时,获取到该周期的音频数据并调整该周期的音频数据的音量,也可以在获取到两个或以上周期的音频数据后,统一调整该两个或以上周期的音频数据的音量。通过上述第一预设规则,可以使得上述第一音频数据组合中的音频数据的音量随播放时间最终收敛至第一音量阈值。不同周期的音量的调整方式可以相同也可以不同。
下面以一个具体示例说明本申请实施例的一种实现方式。
示例性的,上述M可以取1,上述K可以取1。此时,可以在检测到针对与上述第一预设指令相关联的预设线程调用flush函数的指令后,对上述第一线程的线程循环的当前周期的第一音频数据执行预设操作,使得上述第一音频数据的音量维持上述第一音频播放时的音量值;在当前周期的下一个周期中,根据上述第一预设规则,将当前周期的下一个周期的音频数据的音量收敛至0。
可选的,上述第一预设指令包括针对与上述第一预设指令相关联的预设线程调用flush函数的指令。
本申请实施例中,上述flush函数可以用于实现对共享buffer的数据冲刷。示例性的,可以是用户通过触控屏的虚拟按键或者终端设备上的实体按键输入指示停止播放指定音频的指示信息时,或者上述终端设备指示关闭在后台实现音频播放的指定应用程序时,触发上述终端设备生成针对与上述预设指令相关联的预设线程,调用flush函数的指令。以Android操作系统为例,可以是检测到对Android操作系统中的、与上述预设线程相关联的MediaPlayer的停止或者暂停播放的指令时,触发上述终端设备生成针对与上述预设指令相关联的预设线程,调用flush函数的指令。
可选的,在第一预设时间内,根据第一预设规则,将第一音频数据组合的音量降低至第一音量阈值之后,还包括:
清空上述预设线程的预设缓存区域中的音频数据,并更新上述预设缓存区域的存储空间信息。
本申请实施例中,上述预设缓存区域可以是预先设置的在上述线程循环ThreadLoop的周期中用于缓存音频数据的存储空间区域。以Android操纵系统为例,在上述预设线程中,可以具有Audiotrack和audioflinger的共享缓存(buffer),上述预设缓存区域可以是上述共享缓存中的全部缓存空间区域或者部分缓存空间区域。上述预设缓存区域的存储空间信息可以包括上述预设缓存区域的可存储空间大小、可存储空间的前端位置以及可存储空间的后端位置等等信息中的至少一个。
下面以Android操作系统为例,通过一个示例说明本申请实施例中上述预设线程的预设缓存区域中的音频数据的写入、获取以及清空,并更新上述预设缓存区域的存储空间信息一种实现原理。
示例性的,上述预设线程的共享buffer中,有效数据后端(mRear)至有效数据前端(mFront)之间为该周期中的上述音频数据所对应的缓存区域,即上述共享buffer中的有效数据区域;此时,可以通过obtainBuffer功能从该有效数据区域中读取音频数据,并在读取完成后更新mFront的信息,此外,还可以更新缓存buffer中存储的音频数据的帧数mFrameCount;若通过Audiotrack向上述共享buffer写入音频数据,则更新mRear;若获取到针对与上述预设指令相关联的预设线程调用flush函数的指令,则更新共享buffer中的mFlush的位置,其中,上述mFlush的位置与mRear的位置的距离小于预设距离阈值;在更新共享buffer中的mFlush的位置之后,可以清除位于mFront与mFlush之间的缓存区域中的音频数据,并更新上述共享buffer中的mFront和/或mRear的信息。
本申请实施例中,在获取到指示上述终端设备停止或者暂停播放第一音频的第一预设指令后,通过获取第一线程的线程循环的当前M个周期中的第一音频数据,并根据线程循环的循环顺序,依次对第一线程的线程循环中的当前M个周期中的第一音频数据执行预设操作,可以对音频播放的停止留出部分缓冲空间,避免突然停止导致的pop音;再根据线程循环的循环顺序,依次获取上述当前M个周期的后续K个周期的第二音频数据,并根据第一预设规则,将第一音频数据组合的音量收敛至第一音量阈值,可以根据实际需求设置第一预设规则,以使得音频的音量基于第一预设规则进行变化,从而可以自定义上述音频的停止方式,以适应不同的场景需要,并为用户提供较好的听觉体验。
实施例三
在上述实施例的基础上,参见图3,是本申请实施例提供的控制终端设备的音量的方法的再一实现流程示意图,该控制终端设备的音量的方法可以包括以下步骤:
步骤301,检测终端设备是否获取到预设指令,上述预设指令包括第二预设指令,上述第二预设指令指示上述终端设备开始播放第二音频。
本申请实施例中,上述第二预设指令可以是监听到上述终端设备的指定事件后获得,也可以是接收到用户通过触摸屏或者实体按键等方式输入的信息而获得,或者由其他设备通过无线通信方式或者有线通信方式等传输信息至上述终端设备,并由上述终端设备接收到等等。
步骤302,若终端设备获取到上述第二预设指令,则获取第二线程的线程循环的初始L个周期的第三音频数据,其中,上述第二线程与上述第二预设指令相关联,上述第三音频数据与上述第二音频中的第三部分相对应,上述初始L个周期指在获取到上述第二预设指令后,上述第二线程的线程循环中的前L个周期。
本申请实施例中,上述L的取值可以根据实际应用场景来确定。上述第三音频数据可以对应于在获取到上述第二预设指令之后,上述第二音频中的待播的音频的一部分,一般来说,基于上述第二预设指令指示上述终端设备开始播放第二音频,因此,上述第三音频数据可以对应在获取到上述第二预设指令之后,上述第二音频中待播的初始部分的音频。上述第三音频数据可以通过指定的处理(如转换、重采样等等)后通过上述终端设备进行播放。
步骤303,根据第二预设规则,将第二音频数据组合的音量收敛至第三音量阈值,其中,上述音频数据组合包括上述初始L个周期的第三音频数据得到的组合。
上述第二音频数据组合可以没有实际的定义或者没有进行相应的存储,而仅仅用于表述由上述L个周期的每一个周期中的音频数据按照时间顺序得到的组合的音量的变化状态(即收敛至第二预设音量阈值)。当然,上述第二音频数据组合也可以存在实际的定义或者进行相应的存储。
本申请实施例中,通过上述第二预设规则,可以使得上述第二音频数据组合中的音频数据的音量随播放时间最终收敛至第二音量阈值。不同周期的音量的调整方式可以相同也可以不同。上述第二音频数据组合中的音频数据的音量随播放时间的变化方式可以根据上述第二预设规则来确定。
由于上述第二预设指令指示上述终端设备开始播放第二音频,因此,将第二音频数据组合的音量收敛至第二音量阈值的过程可以包括上述第二音频数据组合中的各个音频数据随播放时间的先后顺序由0逐渐提升至第二音量阈值的过程。示例性的,上述第二预设规则可以指示上述终端设备基于线性变化的方式、指数变化的方式和/或分段变化的方式,将第二音频数据组合的音量收敛至第二音量阈值。
本申请实施例中,上述根据第二预设规则,将第二音频数据组合的音量收敛至第二音量阈值的时机在此不作限定,例如,可以在每个周期结束时,获取到该周期的音频数据并调整该周期的音频数据的音量,也可以在获取到两个或以上周期的音频数据后,统一调整该两个或以上周期的音频数据的音量。
下面以一个具体示例说明本申请实施例的一种实现方式。
示例性的,上述L可以取1。此时,可以在上述终端设备获取到上述预设指令之后,获取第二线程的线程循环的初始1个周期的第三音频数据,并根据上述第二预设规则,调整当前周期的第三音频数据的音量,使得上述第三音频数据的音量随播放时间由0线性提升至第三音量阈值。
本申请实施例中,在获取到指示上述终端设备开始播放第二音频的第二预设指令之后,通过获取第二线程的线程循环的初始L个周期的第三音频数据,并根据第二预设规则,将第二音频数据组合的音量收敛至第三音量阈值,可以在开始播放音频时,通过第二预设规则设定开始播放时的音量变化情况,避免了由于开始播放时的音频数据的振幅过大或者音量设置过大等情况导致的爆破音,从而提升了用户体验。
应理解,上述实施例一、二和三中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例四
参见图4,是本申请实施例提供的控制终端设备的音量的装置的一种结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。该控制终端设备的音量的装置可以用于各种具备图像处理功能的终端,例如笔记本电脑、口袋计算机(Pocket PersonalComputer,PPC)、个人数字助理(Personal Digital Assistant,PDA)等中,可以为内置于这些终端内的软件单元、硬件单元或者软硬件结合单元等。本申请实施例中的控制终端设备的音量的装置400包括:
检测模块401,用于检测终端设备是否获取到预设指令;
获取模块402,用于若上述终端设备获取到上述预设指令,则根据上述预设指令和当前时间,确定与上述预设指令相关联的预设线程的线程循环ThreadLoop的N个周期,并根据上述线程循环的循环顺序,依次获取上述N个周期中的音频数据,上述N为大于0的整数;
调整模块403,用于依次调整上述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,其中,上述音频数据组合包括由上述N个周期的每一个周期中的音频数据按照时间顺序得到的组合。
可选的,上述预设指令包括第一预设指令,上述第一预设指令指示上述终端设备停止或者暂停播放第一音频;
上述获取模块402用于:
若终端设备获取到上述第一预设指令,则获取第一线程的线程循环的当前M个周期中的第一音频数据,其中,上述第一线程与上述第一预设指令相关联,上述第一音频数据与上述第一音频中的第一部分相对应,上述M为大于0的整数;
上述调整模块403具体包括:
第一处理单元,用于根据线程循环的循环顺序,依次对第一线程的线程循环中的当前M个周期中的第一音频数据执行预设操作;
获取单元,用于根据线程循环的循环顺序,依次获取上述当前M个周期的后续K个周期的第二音频数据,上述第二音频数据与上述第一音频中的第二部分相对应,上述第二部分与上述第一部分不同,上述K为大于0的整数;
第二处理单元,用于根据第一预设规则,将第一音频数据组合的音量收敛至第一音量阈值,其中,上述第一音频数据组合包括由上述后续K个周期的第二音频数据得到的组合。
可选的,上述第一预设指令包括针对与上述第一预设指令相关联的预设线程调用flush函数的指令。
可选的,上述控制终端设备的音量的装置400还包括:
清空单元,用于清空上述预设线程的预设缓存区域中的音频数据,并更新上述预设缓存区域的存储空间信息。
可选的,上述预设指令包括第二预设指令,上述第二预设指令指示上述终端设备开始播放第二音频;
相应的,上述获取模块402具体用于:
若终端设备获取到上述第二预设指令,则获取第二线程的线程循环的初始L个周期的第三音频数据,其中,上述第二线程与上述第二预设指令相关联,上述第三音频数据与上述第二音频中的第三部分相对应,上述初始L个周期指在获取到上述第二预设指令后,上述第二线程的线程循环中的前L个周期;
上述调整模块403具体用于:
根据第二预设规则,将第二音频数据组合的音量收敛至第三音量阈值,其中,上述音频数据组合包括上述初始L个周期的第三音频数据得到的组合。
可选的,上述调整模块403具体用于:
基于线性变化的方式、指数变化的方式和/或分段变化的方式,依次调整上述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值。
本申请实施例通过确定与上述预设指令相关联的预设线程的线程循环ThreadLoop的N个周期,并根据上述线程循环的循环顺序,依次获取上述N个周期中的音频数据,并依次调整上述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,可以使得上述音频数据根据上述调整结果,在N个周期内,将上述音频数据的音量逐渐调整至上述预设音量阈值,例如在接收到指示停止正在播放的指定音频的指令时,可以将指定音频的音量逐渐降低,从而避免了由于音频突然中断或者开始播放时可能突然出现的pop音,从而可以解决中断或者开始播放终端设备上的诸如电话铃声、闹钟、消息提示音等音频时,终端设备产生pop音的问题,提高了用户体验,而且简单易行,具有较强的易用性和实用性。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
实施例五
本申请实施例五提供了一种终端设备,请参阅图5,本申请实施例中的终端设备包括:存储器501,一个或多个处理器502(图5中仅示出一个)及存储在存储器501上并可在处理器上运行的计算机程序。其中:存储器501用于存储软件程序以及模块,处理器502通过运行存储在存储器501的软件程序以及单元,从而执行各种功能应用以及数据处理。具体地,处理器502通过运行存储在存储器501的上述计算机程序时实现以下步骤:
检测终端设备是否获取到预设指令;
若上述终端设备获取到上述预设指令,则根据上述预设指令和当前时间,确定与上述预设指令相关联的预设线程的线程循环ThreadLoop的N个周期,并根据上述线程循环的循环顺序,依次获取上述N个周期中的音频数据,上述N为大于0的整数;
依次调整上述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,其中,上述音频数据组合包括由上述N个周期的每一个周期中的音频数据按照时间顺序得到的组合。
假设上述为第一种可能的实施方式,则在上述第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,处理器502通过运行存储在存储器501的上述计算机程序时,上述预设指令包括第一预设指令,上述第一预设指令指示上述终端设备停止或者暂停播放第一音频;
相应的,上述若上述终端设备获取到上述预设指令,则根据上述预设指令和当前时间,确定与上述预设指令相关联的预设线程的线程循环ThreadLoop的N个周期,并根据上述线程循环的循环顺序,依次获取上述N个周期中的音频数据,包括:
若终端设备获取到上述第一预设指令,则获取第一线程的线程循环的当前M个周期中的第一音频数据,其中,上述第一线程与上述第一预设指令相关联,上述第一音频数据与上述第一音频中的第一部分相对应,上述M为大于0的整数;
上述依次调整上述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,包括:
根据线程循环的循环顺序,依次对第一线程的线程循环中的当前M个周期中的第一音频数据执行预设操作;
根据线程循环的循环顺序,依次获取上述当前M个周期的后续K个周期的第二音频数据,上述第二音频数据与上述第一音频中的第二部分相对应,上述第二部分与上述第一部分不同,上述K为大于0的整数;
根据第一预设规则,将第一音频数据组合的音量收敛至第一音量阈值,其中,上述第一音频数据组合包括由上述后续K个周期的第二音频数据得到的组合。
在上述第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,处理器502通过运行存储在存储器501的上述计算机程序时,上述第一预设指令包括针对与上述第一预设指令相关联的预设线程调用flush函数的指令。
在上述第二种可能的实施方式作为基础而提供的第四种可能的实施方式中,处理器502通过运行存储在存储器501的上述计算机程序时,在第一预设时间内,根据第一预设规则,将第一音频数据组合的音量降低至第一音量阈值之后,还实现以下步骤:
清空上述预设线程的预设缓存区域中的音频数据,并更新上述预设缓存区域的存储空间信息。
在上述第一种可能的实施方式作为基础而提供的第五种可能的实施方式中,处理器502通过运行存储在存储器501的上述计算机程序时,上述预设指令包括第二预设指令,上述第二预设指令指示上述终端设备开始播放第二音频;
相应的,上述若上述终端设备获取到上述预设指令,则根据上述预设指令和当前时间,确定与上述预设指令相关联的预设线程的线程循环ThreadLoop的N个周期,并根据上述线程循环的循环顺序,依次获取上述N个周期中的音频数据,包括:
若终端设备获取到上述第二预设指令,则获取第二线程的线程循环的初始L个周期的第三音频数据,其中,上述第二线程与上述第二预设指令相关联,上述第三音频数据与上述第二音频中的第三部分相对应,上述初始L个周期指在获取到上述第二预设指令后,上述第二线程的线程循环中的前L个周期;
上述依次调整上述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,包括:
根据第二预设规则,将第二音频数据组合的音量收敛至第三音量阈值,其中,上述音频数据组合包括上述初始L个周期的第三音频数据得到的组合。
在第一种可能的实施方式作为基础,或者上述第二种可能的实施方式作为基础,或者上述第三种可能的实施方式作为基础,或者上述第四种可能的实施方式作为基础,或者上述第五种可能的实施方式作为基础而提供的第六种可能的实施方式中,处理器502通过运行存储在存储器501的上述计算机程序时,上述依次调整上述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,包括:
基于线性变化的方式、指数变化的方式和/或分段变化的方式,依次调整上述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值。
进一步,如图5所示,上述终端设备还可包括:一个或多个输入设备503(图5中仅示出一个)和一个或多个输出设备504(图5中仅示出一个)。存储器501、处理器502、输入设备503和输出设备504通过总线505连接。
应当理解,在本申请实施例中,所称处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备503可以包括键盘、触控板、指纹采集传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风、摄像头等,输出设备504可以包括显示器、扬声器等。
存储器501可以包括只读存储器和随机存取存储器,并向处理器502提供指令和数据。存储器501的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器501还可以存储设备类型的信息。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
上述集成的单元、模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种控制终端设备的音量的方法,其特征在于,包括:
检测终端设备是否获取到预设指令;
若所述终端设备获取到所述预设指令,则根据所述预设指令和当前时间,确定与所述预设指令相关联的预设线程的线程循环ThreadLoop的N个周期,并根据所述线程循环的循环顺序,依次获取所述N个周期中的音频数据,所述N为大于0的整数;
依次调整所述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,其中,所述音频数据组合包括由所述N个周期的每一个周期中的音频数据按照时间顺序得到的组合。
2.如权利要求1所述的方法,其特征在于,所述预设指令包括第一预设指令,所述第一预设指令指示所述终端设备停止或者暂停播放第一音频;
相应的,所述若所述终端设备获取到所述预设指令,则根据所述预设指令和当前时间,确定与所述预设指令相关联的预设线程的线程循环ThreadLoop的N个周期,并根据所述线程循环的循环顺序,依次获取所述N个周期中的音频数据,包括:
若终端设备获取到所述第一预设指令,则获取第一线程的线程循环的当前M个周期中的第一音频数据,其中,所述第一线程与所述第一预设指令相关联,所述第一音频数据与所述第一音频中的第一部分相对应,所述M为大于0的整数;
所述依次调整所述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,包括:
根据线程循环的循环顺序,依次对第一线程的线程循环中的当前M个周期中的第一音频数据执行预设操作;
根据线程循环的循环顺序,依次获取所述当前M个周期的后续K个周期的第二音频数据,所述第二音频数据与所述第一音频中的第二部分相对应,所述第二部分与所述第一部分不同,所述K为大于0的整数;
根据第一预设规则,将第一音频数据组合的音量收敛至第一音量阈值,其中,所述第一音频数据组合包括由所述后续K个周期的第二音频数据得到的组合。
3.如权利要求2所述的方法,其特征在于,所述第一预设指令包括针对与所述第一预设指令相关联的预设线程调用flush函数的指令。
4.如权利要求2所述的方法,其特征在于,在第一预设时间内,根据第一预设规则,将第一音频数据组合的音量降低至第一音量阈值之后,还包括:
清空所述预设线程的预设缓存区域中的音频数据,并更新所述预设缓存区域的存储空间信息。
5.如权利要求1所述的方法,其特征在于,所述预设指令包括第二预设指令,所述第二预设指令指示所述终端设备开始播放第二音频;
相应的,所述若所述终端设备获取到所述预设指令,则根据所述预设指令和当前时间,确定与所述预设指令相关联的预设线程的线程循环ThreadLoop的N个周期,并根据所述线程循环的循环顺序,依次获取所述N个周期中的音频数据,包括:
若终端设备获取到所述第二预设指令,则获取第二线程的线程循环的初始L个周期的第三音频数据,其中,所述第二线程与所述第二预设指令相关联,所述第三音频数据与所述第二音频中的第三部分相对应,所述初始L个周期指在获取到所述第二预设指令后,所述第二线程的线程循环中的前L个周期;
所述依次调整所述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,包括:
根据第二预设规则,将第二音频数据组合的音量收敛至第三音量阈值,其中,所述音频数据组合包括所述初始L个周期的第三音频数据得到的组合。
6.如权利要求1至5任意一项所述的方法,其特征在于,所述依次调整所述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,包括:
基于线性变化的方式、指数变化的方式和/或分段变化的方式,依次调整所述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值。
7.一种控制终端设备的音量的装置,其特征在于,包括:
检测模块,用于检测终端设备是否获取到预设指令;
获取模块,用于若所述终端设备获取到所述预设指令,则根据所述预设指令和当前时间,确定与所述预设指令相关联的预设线程的线程循环ThreadLoop的N个周期,并根据所述线程循环的循环顺序,依次获取所述N个周期中的音频数据,所述N为大于0的整数;
调整模块,用于依次调整所述N个周期的每一个周期中的音频数据的音量,以使得音频数据组合的音量收敛至预设音量阈值,其中,所述音频数据组合包括由所述N个周期的每一个周期中的音频数据按照时间顺序得到的组合。
8.如权利要求7所述的装置,其特征在于,所述预设指令包括第一预设指令,所述第一预设指令指示所述终端设备停止或者暂停播放第一音频;
所述获取模块用于:
若终端设备获取到所述第一预设指令,则获取第一线程的线程循环的当前M个周期中的第一音频数据,其中,所述第一线程与所述第一预设指令相关联,所述第一音频数据与所述第一音频中的第一部分相对应,所述M为大于0的整数;
所述调整模块具体包括:
第一处理单元,用于根据线程循环的循环顺序,依次对第一线程的线程循环中的当前M个周期中的第一音频数据执行预设操作;
获取单元,用于根据线程循环的循环顺序,依次获取所述当前M个周期的后续K个周期的第二音频数据,所述第二音频数据与所述第一音频中的第二部分相对应,所述第二部分与所述第一部分不同,所述K为大于0的整数;
第二处理单元,用于根据第一预设规则,将第一音频数据组合的音量收敛至第一音量阈值,其中,所述第一音频数据组合包括由所述后续K个周期的第二音频数据得到的组合。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述控制终端设备的音量的方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述控制终端设备的音量的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910454783.3A CN110175015B (zh) | 2019-05-29 | 2019-05-29 | 一种控制终端设备的音量的方法、装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910454783.3A CN110175015B (zh) | 2019-05-29 | 2019-05-29 | 一种控制终端设备的音量的方法、装置及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110175015A true CN110175015A (zh) | 2019-08-27 |
CN110175015B CN110175015B (zh) | 2022-05-27 |
Family
ID=67696494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910454783.3A Active CN110175015B (zh) | 2019-05-29 | 2019-05-29 | 一种控制终端设备的音量的方法、装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110175015B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110755843A (zh) * | 2019-10-24 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 游戏音频的处理方法和装置、存储介质及电子装置 |
CN112735481A (zh) * | 2020-12-18 | 2021-04-30 | Oppo(重庆)智能科技有限公司 | Pop音检测方法、装置、终端设备及存储介质 |
CN116991808A (zh) * | 2023-09-27 | 2023-11-03 | 南通话时代信息科技有限公司 | 用于企业会议的数据智能存储方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006304139A (ja) * | 2005-04-25 | 2006-11-02 | Matsushita Electric Ind Co Ltd | 音データ再生装置及び音データ再生方法 |
TWI271112B (en) * | 2005-08-19 | 2007-01-11 | Megawin Technology Co Ltd | Method for eliminating crackling sound of speaker |
US20090196437A1 (en) * | 2008-02-05 | 2009-08-06 | Tadashi Yamamoto | Muting control device, muting control method, and muting control program |
CN105100871A (zh) * | 2015-07-27 | 2015-11-25 | 四川长虹电器股份有限公司 | 智能电视在同屏多窗口模式下的静音控制方法 |
US20160049162A1 (en) * | 2013-03-21 | 2016-02-18 | Intellectual Discovery Co., Ltd. | Audio signal size control method and device |
CN105828255A (zh) * | 2016-05-12 | 2016-08-03 | 深圳市金立通信设备有限公司 | 一种优化音频设备爆音的方法及终端 |
CN108182953A (zh) * | 2017-12-27 | 2018-06-19 | 上海传英信息技术有限公司 | 音频尾部pop音处理方法和装置 |
CN108513218A (zh) * | 2018-03-27 | 2018-09-07 | 北京小米移动软件有限公司 | 音频通路控制方法及电子设备 |
CN109257688A (zh) * | 2018-07-23 | 2019-01-22 | 东软集团股份有限公司 | 音频区分方法、装置、存储介质及电子设备 |
CN109660903A (zh) * | 2019-01-14 | 2019-04-19 | 安凯(广州)微电子技术有限公司 | 一种耳机pop音消除方法、系统及装置 |
-
2019
- 2019-05-29 CN CN201910454783.3A patent/CN110175015B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006304139A (ja) * | 2005-04-25 | 2006-11-02 | Matsushita Electric Ind Co Ltd | 音データ再生装置及び音データ再生方法 |
TWI271112B (en) * | 2005-08-19 | 2007-01-11 | Megawin Technology Co Ltd | Method for eliminating crackling sound of speaker |
US20090196437A1 (en) * | 2008-02-05 | 2009-08-06 | Tadashi Yamamoto | Muting control device, muting control method, and muting control program |
US20160049162A1 (en) * | 2013-03-21 | 2016-02-18 | Intellectual Discovery Co., Ltd. | Audio signal size control method and device |
CN105100871A (zh) * | 2015-07-27 | 2015-11-25 | 四川长虹电器股份有限公司 | 智能电视在同屏多窗口模式下的静音控制方法 |
CN105828255A (zh) * | 2016-05-12 | 2016-08-03 | 深圳市金立通信设备有限公司 | 一种优化音频设备爆音的方法及终端 |
CN108182953A (zh) * | 2017-12-27 | 2018-06-19 | 上海传英信息技术有限公司 | 音频尾部pop音处理方法和装置 |
CN108513218A (zh) * | 2018-03-27 | 2018-09-07 | 北京小米移动软件有限公司 | 音频通路控制方法及电子设备 |
CN109257688A (zh) * | 2018-07-23 | 2019-01-22 | 东软集团股份有限公司 | 音频区分方法、装置、存储介质及电子设备 |
CN109660903A (zh) * | 2019-01-14 | 2019-04-19 | 安凯(广州)微电子技术有限公司 | 一种耳机pop音消除方法、系统及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110755843A (zh) * | 2019-10-24 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 游戏音频的处理方法和装置、存储介质及电子装置 |
CN110755843B (zh) * | 2019-10-24 | 2023-03-14 | 腾讯科技(深圳)有限公司 | 游戏音频的处理方法和装置、存储介质及电子装置 |
CN112735481A (zh) * | 2020-12-18 | 2021-04-30 | Oppo(重庆)智能科技有限公司 | Pop音检测方法、装置、终端设备及存储介质 |
CN112735481B (zh) * | 2020-12-18 | 2022-08-05 | Oppo(重庆)智能科技有限公司 | Pop音检测方法、装置、终端设备及存储介质 |
CN116991808A (zh) * | 2023-09-27 | 2023-11-03 | 南通话时代信息科技有限公司 | 用于企业会议的数据智能存储方法及装置 |
CN116991808B (zh) * | 2023-09-27 | 2023-12-08 | 南通话时代信息科技有限公司 | 用于企业会议的数据智能存储方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110175015B (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11735014B2 (en) | Devices, methods, and graphical user interfaces for providing haptic feedback | |
US20230007398A1 (en) | Systems, Methods, and User Interfaces for Headphone Audio Output Control | |
US11460925B2 (en) | User interfaces for non-visual output of time | |
RU2651194C2 (ru) | Способ и устройство для взаимодействия с кнопкой | |
CN102714514B (zh) | 用于在移动装置中设置多媒体文件的片段的方法和设备 | |
US9575648B2 (en) | Application programming interfaces for gesture operations | |
US20150135105A1 (en) | Interacting with an application | |
US11635938B2 (en) | Spatial management of audio | |
CN110175015A (zh) | 一种控制终端设备的音量的方法、装置及终端设备 | |
US20200104194A1 (en) | Devices, Methods, and User Interfaces for Providing Audio Notifications | |
US20130298079A1 (en) | Apparatus and method for unlocking an electronic device | |
US11222223B2 (en) | Collecting fingerprints | |
CN104866074A (zh) | 一种信息处理方法及电子设备 | |
US11941319B2 (en) | Systems, methods, and graphical user interfaces for selecting audio output modes of wearable audio output devices | |
CN106297836B (zh) | 一种音频播放方法和终端 | |
US20240028429A1 (en) | Multiple notification user interface | |
US20230343189A1 (en) | Devices, Methods, and Graphical User Interfaces for Providing Haptic Feedback | |
CN113885994A (zh) | 显示方法、装置和电子设备 | |
CN109298906A (zh) | 窗口呼出方法、窗口呼出装置及移动终端 | |
US11995483B2 (en) | Devices, methods, and user interfaces for providing audio notifications | |
US20240078079A1 (en) | Devices, Methods, and User Interfaces for Controlling Operation of Wireless Electronic Accessories | |
CN116095912A (zh) | 智能台灯的控制方法、装置、智能台灯及可读存储介质 | |
CN108366164A (zh) | 一种设置勿扰模式的方法、终端及计算机可读存储介质 | |
CN106775288A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |