CN108495177B - 一种音频变速处理方法及装置 - Google Patents
一种音频变速处理方法及装置 Download PDFInfo
- Publication number
- CN108495177B CN108495177B CN201810280662.7A CN201810280662A CN108495177B CN 108495177 B CN108495177 B CN 108495177B CN 201810280662 A CN201810280662 A CN 201810280662A CN 108495177 B CN108495177 B CN 108495177B
- Authority
- CN
- China
- Prior art keywords
- buffer
- data
- preset
- buffer area
- played
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
- H04N21/4392—Processing of audio elementary streams involving audio buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
- H04N21/4394—Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
- H04N21/4398—Processing of audio elementary streams involving reformatting operations of audio signals
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明实施例提供的一种音频变速处理方法及装置,属于音频数据处理技术领域。该音频变速处理方法包括将目标数据放入预设缓冲区A中;判断预设缓冲区B中是否存储有待播放音频数据;若否,采集缓冲区B与缓冲区A的数据延迟;判断数据延迟是否位于预设区间内;若是,将目标数据按照第一预设速率直接从缓冲区A放入缓冲区B;若否,判断数据延迟是否小于预设区间内的最小值;若是,将目标数据按照第二预设速率从缓冲区A放入缓冲区B;若否,判断数据延迟是否大于预设区间内的最大值;若是,将目标数据按照第三预设速率从缓冲区A放入缓冲区B;获取缓冲区B中所存储的待播放音频数据进行播放。
Description
技术领域
本发明涉及音频数据处理技术领域,具体而言,涉及一种音频变速处理方法及装置。
背景技术
目前在实时音视频的应用场景中,音频数据通常采用udp进行传输,网络波动以及在传输层启用丢包重传等机制都会要求音频接收端提供一定的缓冲,以保证音频播放的稳定性。然而对于缓冲区的控制常见的有静态抖动缓冲控制算法和自适应缓冲控制算法,其中,静态抖动缓冲控制算法为缓冲区的大小在语音通话建立后保持不变,对于抖动超出缓冲区大小的数据包会被丢弃。虽然算法模型简单,但是网络抖动大,丢包率高;或者是网络抖动小,语音延迟大。以及自适应缓冲控制算法中缓冲区大小根据实际网络的抖动情况而变化,考虑多网络状态的多样化,缓冲区一般设置为自适应的。然而网络延时高,调大缓冲区。或者是延迟小,降低缓冲区。以及算法多样模型复杂。因此,现有技术中存在网络延迟时,语音的延迟无法正确跟随网络延迟进行变化的技术问题。
发明内容
本发明提供的一种音频变速处理方法及装置,旨在改善上述问题。
本发明提供的音频变速处理方法,包括:将目标数据放入预设缓冲区A中,其中,所述缓冲区A为静态缓冲区;判断预设缓冲区B中是否存储有待播放音频数据,其中,所述缓冲区B用于接收所述缓冲区A所传递的所述目标数据;若否,采集所述缓冲区B与所述缓冲区A的数据延迟;判断所述数据延迟是否位于预设区间内;若是,将所述目标数据按照第一预设速率直接从所述缓冲区A放入所述缓冲区B,作为所述待播放音频数据;若否,判断所述数据延迟是否小于所述预设区间内的最小值;若是,将所述目标数据按照第二预设速率从所述缓冲区A放入所述缓冲区B,其中,所述第二预设速率小于所述第一预设速率;若否,判断所述数据延迟是否大于所述预设区间内的最大值;若是,将所述目标数据按照第三预设速率从所述缓冲区A放入缓冲区B,其中,所述第二预设速率小于所述第三预设速率,所述第三预设速率大于所述第一预设速率;获取所述缓冲区B中所存储的所述待播放音频数据进行播放。
可选地,所述的将目标数据放入预设缓冲区A中,之前还包括:从网络接收音频数据包;解码所述音频数据包并生成目标数据,以将所述目标数据放入缓冲区A中。
可选地,所述的判断预设缓冲区B中是否存储有待播放音频数据,之后还包括:若是,判断所述缓冲区B中所存储的所述待播放音频数据的大小是否等于需要播放的数据大小;若是,执行所述的获取所述缓冲区B中所存储的所述待播放音频数据进行播放的步骤。
可选地,所述的将所述目标数据按照第二预设速率从所述缓冲区A放入所述缓冲区B,包括:将所述目标数据按照第二预设速率和预设音调从所述缓冲区A放入所述缓冲区B。
可选地,所述的获取所述缓冲区B中所存储的所述待播放音频数据进行播放,包括:基于固定时间间隔从所述缓冲区B中获取所述待播放音频数据进行播放。
本发明提供的音频变速处理装置,包括:数据储存单元,用于将目标数据放入预设缓冲区A中,其中,所述缓冲区A为静态缓冲区;第一处理单元,用于判断预设缓冲区B中是否存储有待播放音频数据,其中,所述缓冲区B用于接收所述缓冲区A所传递的所述目标数据;第一执行单元,用于若否,采集所述缓冲区B与所述缓冲区A的数据延迟;第二处理单元,用于判断所述数据延迟是否位于预设区间内;第三处理单元,用于若是,将所述目标数据按照第一预设速率直接从所述缓冲区A放入所述缓冲区B,作为所述待播放音频数据;第四处理单元,用于若否,判断所述数据延迟是否小于所述预设区间内的最小值;第五处理单元,用于若是,将所述目标数据按照第二预设速率从所述缓冲区A放入所述缓冲区B,其中,所述第二预设速率小于所述第一预设速率;第六处理单元,用于若否,判断所述数据延迟是否大于所述预设区间内的最大值;第二执行单元,用于若是,将所述目标数据按照第三预设速率从所述缓冲区A放入缓冲区B,其中,所述第二预设速率小于所述第三预设速率,所述第三预设速率大于所述第一预设速率;音频播放单元,用于获取所述缓冲区B中所存储的所述待播放音频数据进行播放。
可选地,所述数据储存单元,之前还包括:数据获取单元,用于从网络接收音频数据包;数据解码单元,用于解码所述音频数据包并生成目标数据,以将所述目标数据放入缓冲区A中。
可选地,所述第一处理单元,之后还包括:第三执行单元,用于若是,判断所述缓冲区B中所存储的所述待播放音频数据的大小是否等于需要播放的数据大小;第四执行单元,用于若是,执行所述的获取所述缓冲区B中所存储的所述待播放音频数据进行播放的步骤。
可选地,所述第五处理单元具体用于:若是,将所述目标数据按照第二预设速率和预设音调从所述缓冲区A放入所述缓冲区B,其中,所述第二预设速率小于所述第一预设速率。
可选地,所述音频播放单元具体用于:基于固定时间间隔从所述缓冲区B中获取所述待播放音频数据进行播放。
上述本发明提供的一种音频变速处理方法及装置,通过在播放音频数据时,先判断预设缓冲区B中是否存储有待播放音频数据,若否,采集所述缓冲区B与所述缓冲区A的数据延迟,再判断所述数据延迟是否位于预设区间内;若是,将所述目标数据按照第一预设速率直接从所述缓冲区A放入所述缓冲区B,作为所述待播放音频数据;从而使得可以从缓冲区B中获取固定大小的音频数据进行播放,而不会出现延迟,以及当所述数据延迟不位于预设区间内时,判断所述数据延迟是否小于所述预设区间内的最小值;若是,将所述目标数据按照第二预设速率从所述缓冲区A放入所述缓冲区B,其中,所述第二预设速率小于所述第一预设速率;若否,判断所述数据延迟是否大于所述预设区间内的最大值;若是,将所述目标数据按照第三预设速率从所述缓冲区A放入缓冲区B,其中,所述第二预设速率小于所述第三预设速率,所述第三预设速率大于所述第一预设速率;获取所述缓冲区B中所存储的所述待播放音频数据进行播放。进而实现了使得在播放时,在抖动较为严重和频繁情况下,能够快速的调整,延迟也能控制在较低的范围,进而使得用户也不会因为特别频繁的卡顿而产生通话效果特别差的感受,进一步有效解决了现有技术问题。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种电子设备的结构框图;
图2为本发明第一实施例提供的音频变速处理方法的流程图;
图3为本发明第二实施例提供的音频变速处理方法的流程图;
图4为本发明第三实施例提供的音频变速处理装置的功能模块示意图;
图5为本发明第四实施例提供的音频变速处理装置的功能模块示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种电子设备的结构框图。所述电子设备300包括音频变速处理装置、存储器302、存储控制器303、处理器304及外设接口305。
所述存储器302、存储控制器303、处理器304及外设接口305各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述音频变速处理装置包括至少一个可以软件或固件(firmware)的形式存储于所述存储器302中或固化在所述电子设备300的操作系统(operating system,OS)中的软件功能模块。所述处理器304用于执行存储器302中存储的可执行模块,例如所述音频变速处理装置包括的软件功能模块或计算机程序。
其中,存储器302可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器302用于存储程序,所述处理器304在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的服务器100所执行的方法可以应用于处理器304中,或者由处理器304实现。
处理器304可能是一种集成电路芯片,具有信号的处理能力。上述的处理器304可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述外设接口305将各种输入/输入装置耦合至处理器304以及存储器302。在一些实施例中,外设接口305、处理器304以及存储控制器303可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
请参阅图2,是本发明第一实施例提供的音频变速处理方法的流程图。下面将对图2所示的具体流程进行详细阐述。
步骤S101,将目标数据放入预设缓冲区A中。
在本实施例中,所述缓冲区A为静态缓冲区。所述缓冲区A的大小可以根据在建立音频通话前设置,一般将其设置到足够大,例如,所述缓冲区A的大小可以是100M,也可以是600M。
其中,所述目标数据为从网络获取的音频数据包,并进行解压后的音频数据。所述目标数据携带有时间戳。
步骤S102,判断预设缓冲区B中是否存储有待播放音频数据。
其中,所述缓冲区B用于缓存待播放音频数据,所述缓冲区B中的数据为所述缓冲区A所传入的音频数据。即所述缓冲区B用于接收所述缓冲区A所传递的所述目标数据。
步骤S103,若否,采集所述缓冲区B与所述缓冲区A的数据延迟。
如果缓冲区B中没有存储待播放音频数据,则采集所述缓冲区B与所述缓冲区A的数据延迟。其中,所述数据延迟包括缓冲区B的数据延迟与缓冲区A的数据延迟。其中,数据延迟的计算可以先通过缓冲区A中的数据计算出当前已有的数据延迟,并且加上缓冲区B中的延迟。
步骤S104,判断所述数据延迟是否位于预设区间内。
其中,所述预设区间的具体设置可以根据用户的具体情况而进行设置,在此,不作具体限定。
作为一种实施方式,优选地,所述预设区间为50 ̄300ms。
步骤S105,若是,将所述目标数据按照第一预设速率直接从所述缓冲区A放入所述缓冲区B,作为所述待播放音频数据。
其中,所述的若是是指所述数据延迟位于预设区间内。所述第一预设速率为缓冲区A将目标数据放入缓冲区B中的速率。所述第一预设速率的选值可以根据具体情况进行选取,在此,不作具体限定。
在本实施例中,当所述数据延迟位于预设区间内时,通过第一预设速率将所述缓冲区A中的目标数据放入所述缓冲区B,从而使得播放时直接通过获取缓冲区B中的数据进行播放。
步骤S106,若否,判断所述数据延迟是否小于所述预设区间内的最小值。
其中,所述的若否是指所述数据延迟没有位于预设区间内。所述预设区间内的最小值是指该区间内的下限值,如当区间为[50,300]时,最小值为50。
步骤S107,若是,将所述目标数据按照第二预设速率从所述缓冲区A放入所述缓冲区B,其中,所述第二预设速率小于所述第一预设速率。
其中,所述的若是,是指所述数据延迟小于所述预设区间内的最小值。
作为一种实施方式,将所述目标数据按照第二预设速率和预设音调从所述缓冲区A放入所述缓冲区B。其中,所述预设音调是指该目标数据所对应的原始音调,即将所述目标数据按照第二预设速率进行变速处理,且不变调。例如,从缓冲区A中取出一定的数据,如10ms数据,按比例进行变速不变调,并将处理后的数据放入缓冲区B,由于数据已经拉长,则在本次获取数据播放后,缓冲区B还会剩余一定数据,例如缓冲区B中拉取5ms数据进行播放,则缓冲区B还会剩余5ms数据,在抖动比较厉害时,若缓冲区A中无数据可供拉长播放,还会直接对缓冲区B中的数据再次进行拉长处理,以便抵抗更大的抖动。从而通过这种处理来达到声音连贯播放的效果。
步骤S108,若否,判断所述数据延迟是否大于所述预设区间内的最大值。
其中,所述的若否,是指所述数据延迟大于所述预设区间内的最小值。
所述预设区间内的最大值是指该区间内的上限值,如当区间为[50,300]时,最大值为300。
步骤S109,若是,将所述目标数据按照第三预设速率从所述缓冲区A放入缓冲区B,其中,所述第二预设速率小于所述第三预设速率,所述第三预设速率大于所述第一预设速率。
其中,所述的若是,是指数据延迟大于所述预设区间内的最大值。
在本实施例中,通过将所述目标数据按照第三预设速率从所述缓冲区A放入缓冲区B,从而以实现对缓冲区B中的所述待播放音频数据进行快速播放处理,具体地,从缓冲区A中取出一定的数据,如,10ms数据,按比例进行变速不变调处理,并将处理后的数据放入缓冲区B。以实现将已有的延迟不断降低的目的,进而克服现有技术问题。
步骤S110,获取所述缓冲区B中所存储的所述待播放音频数据进行播放。
作为一种实施方式,基于固定时间间隔从所述缓冲区B中获取所述待播放音频数据进行播放。
作为另一种实施方式,基于固定时间间隔从所述缓冲区B中获取固定大小的所述待播放音频数据进行播放。例如,可以通过精确的媒体时钟或系统自带的音频播放接口来达到在固定时间间隔获取固定音频数据播放的效果。例如当在48khz单声道的情况下,可以采用10ms间隔,每次获取480个采样进行播放。
请参阅图3,是本发明第二实施例提供的音频变速处理方法的流程图。下面将对图3所示的具体流程进行详细阐述。
步骤S201,从网络接收音频数据包。
步骤S202,解码所述音频数据包并生成目标数据,以将所述目标数据放入缓冲区A中。
其中,所述目标数据携带有时间戳。
步骤S203,将目标数据放入预设缓冲区A中。
步骤S204,判断预设缓冲区B中是否存储有待播放音频数据。
步骤S205,若否,采集所述缓冲区B与所述缓冲区A的数据延迟。
步骤S206,判断所述数据延迟是否位于预设区间内。
步骤S207,若是,将所述目标数据按照第一预设速率直接从所述缓冲区A放入所述缓冲区B,作为所述待播放音频数据。
步骤S208,若否,判断所述数据延迟是否小于所述预设区间内的最小值。
步骤S209,若是,将所述目标数据按照第二预设速率从所述缓冲区A放入所述缓冲区B,其中,所述第二预设速率小于所述第一预设速率。
步骤S210,若否,判断所述数据延迟是否大于所述预设区间内的最大值。
步骤S211,若是,将所述目标数据按照第三预设速率从所述缓冲区A放入缓冲区B,其中,所述第二预设速率小于所述第三预设速率,所述第三预设速率大于所述第一预设速率。
步骤S203至步骤S211的具体实施方式请参照第一实施例中所对应的步骤,在此,不再赘述。
步骤S212,若是,判断所述缓冲区B中所存储的所述待播放音频数据的大小是否等于需要播放的数据大小。
其中,所述的若是,是指缓冲区B中存储有待播放音频数据。
步骤S213,若是,执行所述的获取所述缓冲区B中所存储的所述待播放音频数据进行播放的步骤。
其中,所述的若是,是指所述缓冲区B中所存储的所述待播放音频数据的大小等于需要播放的数据大小。
当所述缓冲区B中所存储的所述待播放音频数据的大小等于需要播放的数据大小时,执行步骤S214。
当所述缓冲区B中所存储的所述待播放音频数据的大小不等于需要播放的数据大小时,执行步骤S205。
步骤S214,获取所述缓冲区B中所存储的所述待播放音频数据进行播放。
步骤S214的具体实施方式请参照第一实施例中所对应的步骤,在此,不再赘述。
请参阅图4,是本发明第三实施例提供的音频变速处理装置的功能模块示意图。所述音频变速处理装置400包括数据储存单元410、第一处理单元420、第一执行单元430、第二处理单元440、第三处理单元450、第四处理单元460、第五处理单元470、第六处理单元480、第二执行单元490和音频播放单元491。
数据储存单元410,用于将目标数据放入预设缓冲区A中,其中,所述缓冲区A为静态缓冲区。
第一处理单元420,用于判断预设缓冲区B中是否存储有待播放音频数据,其中,所述缓冲区B用于接收所述缓冲区A所传递的所述目标数据。
第一执行单元430,用于若否,采集所述缓冲区B与所述缓冲区A的数据延迟。
第二处理单元440,用于判断所述数据延迟是否位于预设区间内。
第三处理单元450,用于若是,将所述目标数据按照第一预设速率直接从所述缓冲区A放入所述缓冲区B,作为所述待播放音频数据。
第四处理单元460,用于若否,判断所述数据延迟是否小于所述预设区间内的最小值。
第五处理单元470,用于若是,将所述目标数据按照第二预设速率从所述缓冲区A放入所述缓冲区B,其中,所述第二预设速率小于所述第一预设速率。
其中,所述第五处理单元470具体用于:若是,将所述目标数据按照第二预设速率和预设音调从所述缓冲区A放入所述缓冲区B,其中,所述第二预设速率小于所述第一预设速率。
第六处理单元480,用于若否,判断所述数据延迟是否大于所述预设区间内的最大值。
第二执行单元490,用于若是,将所述目标数据按照第三预设速率从所述缓冲区A放入缓冲区B,其中,所述第二预设速率小于所述第三预设速率,所述第三预设速率大于所述第一预设速率。
音频播放单元491,用于获取所述缓冲区B中所存储的所述待播放音频数据进行播放。
其中,所述音频播放单元491具体用于:基于固定时间间隔从所述缓冲区B中获取所述待播放音频数据进行播放。
请参阅图5,是本发明第四实施例提供的音频变速处理装置的功能模块示意图。所述音频变速处理装置500包括数据获取单元510、数据解码单元520、数据储存单元530、第一处理单元540、第一执行单元550、第二处理单元560、第三处理单元570、第四处理单元580、第五处理单元590、第六处理单元591、第二执行单元592、第三执行单元593、第四执行单元594和音频播放单元595。
数据获取单元510,用于从网络接收音频数据包。
数据解码单元520,用于解码所述音频数据包并生成目标数据,以将所述目标数据放入缓冲区A中。
数据储存单元530,用于将目标数据放入预设缓冲区A中,其中,所述缓冲区A为静态缓冲区。
第一处理单元540,用于判断预设缓冲区B中是否存储有待播放音频数据,其中,所述缓冲区B用于接收所述缓冲区A所传递的所述目标数据。
第一执行单元550,用于若否,采集所述缓冲区B与所述缓冲区A的数据延迟。
第二处理单元560,用于判断所述数据延迟是否位于预设区间内。
第三处理单元570,用于若是,将所述目标数据按照第一预设速率直接从所述缓冲区A放入所述缓冲区B,作为所述待播放音频数据。
第四处理单元580,用于若否,判断所述数据延迟是否小于所述预设区间内的最小值。
第五处理单元590,用于若是,将所述目标数据按照第二预设速率从所述缓冲区A放入所述缓冲区B,其中,所述第二预设速率小于所述第一预设速率。
其中,所述第五处理单元590具体用于:若是,将所述目标数据按照第二预设速率和预设音调从所述缓冲区A放入所述缓冲区B,其中,所述第二预设速率小于所述第一预设速率。
第六处理单元591,用于若否,判断所述数据延迟是否大于所述预设区间内的最大值。
第二执行单元592,用于若是,将所述目标数据按照第三预设速率从所述缓冲区A放入缓冲区B,其中,所述第二预设速率小于所述第三预设速率,所述第三预设速率大于所述第一预设速率。
第三执行单元593,用于若是,判断所述缓冲区B中所存储的所述待播放音频数据的大小是否等于需要播放的数据大小。
第四执行单元594,用于若是,执行所述的获取所述缓冲区B中所存储的所述待播放音频数据进行播放的步骤。
音频播放单元595,用于获取所述缓冲区B中所存储的所述待播放音频数据进行播放。
其中,所述音频播放单元595具体用于:基于固定时间间隔从所述缓冲区B中获取所述待播放音频数据进行播放。
综上所述,本发明提供的一种音频变速处理方法及装置,通过在播放音频数据时,先判断预设缓冲区B中是否存储有待播放音频数据,若否,采集所述缓冲区B与所述缓冲区A的数据延迟,再判断所述数据延迟是否位于预设区间内;若是,将所述目标数据按照第一预设速率直接从所述缓冲区A放入所述缓冲区B,作为所述待播放音频数据;从而使得可以从缓冲区B中获取固定大小的音频数据进行播放,而不会出现延迟,以及当所述数据延迟没有位于预设区间内时,判断所述数据延迟是否小于所述预设区间内的最小值;若是,将所述目标数据按照第二预设速率从所述缓冲区A放入所述缓冲区B,其中,所述第二预设速率小于所述第一预设速率;若否,判断所述数据延迟是否大于所述预设区间内的最大值;若是,将所述目标数据按照第三预设速率从所述缓冲区A放入缓冲区B,其中,所述第二预设速率小于所述第三预设速率,所述第三预设速率大于所述第一预设速率;获取所述缓冲区B中所存储的所述待播放音频数据进行播放。进而实现了使得在播放时,在抖动较为严重和频繁情况下,能够快速的调整,延迟也能控制在较低的范围,进而使得用户也不会因为特别频繁的卡顿而产生通话效果特别差的感受,进一步有效解决了现有技术问题。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (10)
1.一种音频变速处理方法,其特征在于,包括:
将目标数据放入预设缓冲区A中,其中,所述缓冲区A为静态缓冲区;
判断预设缓冲区B中是否存储有待播放音频数据,其中,所述缓冲区B用于接收所述缓冲区A所传递的所述目标数据;
若否,采集所述缓冲区B与所述缓冲区A的数据延迟;
判断所述数据延迟是否位于预设区间内;
若是,将所述目标数据按照第一预设速率直接从所述缓冲区A放入所述缓冲区B,作为所述待播放音频数据;
若否,判断所述数据延迟是否小于所述预设区间内的最小值;
若是,将所述目标数据按照第二预设速率从所述缓冲区A放入所述缓冲区B,其中,所述第二预设速率小于所述第一预设速率;
若否,判断所述数据延迟是否大于所述预设区间内的最大值;
若是,将所述目标数据按照第三预设速率从所述缓冲区A放入缓冲区B,其中,所述第二预设速率小于所述第三预设速率,所述第三预设速率大于所述第一预设速率;
获取所述缓冲区B中所存储的所述待播放音频数据进行播放;
其中,当所述目标数据不按照第一预设速率所述从所述缓冲区A放入所述缓冲区B时,将所述目标数据按照对应的预设速率和预设音调从所述缓冲区A放入所述缓冲区B;
在获取所述缓冲区B中所存储的所述待播放音频数据进行播放后,所述音频变速处理方法还包括:在待播放音频数据进行播放时,若受抖动影响大且所述缓冲区A并不存在目标数据时,对所述缓冲区B中剩余的待播放音频数据进行拉长处理,并播放拉长处理后的剩余的待播放音频数据。
2.根据权利要求1所述的方法,其特征在于,所述的将目标数据放入预设缓冲区A中,之前还包括:
从网络接收音频数据包;
解码所述音频数据包并生成目标数据,以将所述目标数据放入缓冲区A中。
3.根据权利要求1所述的方法,其特征在于,所述的判断预设缓冲区B中是否存储有待播放音频数据,之后还包括:
若是,判断所述缓冲区B中所存储的所述待播放音频数据的大小是否等于需要播放的数据大小;
若是,执行所述的获取所述缓冲区B中所存储的所述待播放音频数据进行播放的步骤。
4.根据权利要求1所述的方法,其特征在于,所述的将所述目标数据按照第二预设速率从所述缓冲区A放入所述缓冲区B,包括:
将所述目标数据按照第二预设速率和预设音调从所述缓冲区A放入所述缓冲区B。
5.根据权利要求1所述的方法,其特征在于,所述的获取所述缓冲区B中所存储的所述待播放音频数据进行播放,包括:
基于固定时间间隔从所述缓冲区B中获取所述待播放音频数据进行播放。
6.一种音频变速处理装置,其特征在于,包括:
数据储存单元,用于将目标数据放入预设缓冲区A中,其中,所述缓冲区A为静态缓冲区;
第一处理单元,用于判断预设缓冲区B中是否存储有待播放音频数据,其中,所述缓冲区B用于接收所述缓冲区A所传递的所述目标数据;
第一执行单元,用于若否,采集所述缓冲区B与所述缓冲区A的数据延迟;
第二处理单元,用于判断所述数据延迟是否位于预设区间内;
第三处理单元,用于若是,将所述目标数据按照第一预设速率直接从所述缓冲区A放入所述缓冲区B,作为所述待播放音频数据;
第四处理单元,用于若否,判断所述数据延迟是否小于所述预设区间内的最小值;
第五处理单元,用于若是,将所述目标数据按照第二预设速率从所述缓冲区A放入所述缓冲区B,其中,所述第二预设速率小于所述第一预设速率;
第六处理单元,用于若否,判断所述数据延迟是否大于所述预设区间内的最大值;
第二执行单元,用于若是,将所述目标数据按照第三预设速率从所述缓冲区A放入缓冲区B,其中,所述第二预设速率小于所述第三预设速率,所述第三预设速率大于所述第一预设速率;
音频播放单元,用于获取所述缓冲区B中所存储的所述待播放音频数据进行播放;
其中,当所述目标数据不按照第一预设速率所述从所述缓冲区A放入所述缓冲区B时,将所述目标数据按照对应的预设速率和预设音调从所述缓冲区A放入所述缓冲区B;
所述音频变速处理装置还用于:
在待播放音频数据进行播放时,若受抖动影响大且所述缓冲区A并不存在目标数据时,对所述缓冲区B中剩余的待播放音频数据进行拉长处理,并播放拉长处理后的剩余的待播放音频数据。
7.根据权利要求6所述的装置,其特征在于,所述数据储存单元,之前还包括:
数据获取单元,用于从网络接收音频数据包;
数据解码单元,用于解码所述音频数据包并生成目标数据,以将所述目标数据放入缓冲区A中。
8.根据权利要求6所述的装置,其特征在于,所述第一处理单元,之后还包括:
第三执行单元,用于若是,判断所述缓冲区B中所存储的所述待播放音频数据的大小是否等于需要播放的数据大小;
第四执行单元,用于若是,执行所述的获取所述缓冲区B中所存储的所述待播放音频数据进行播放的步骤。
9.根据权利要求6所述的装置,其特征在于,所述第五处理单元具体用于:
若是,将所述目标数据按照第二预设速率和预设音调从所述缓冲区A放入所述缓冲区B,其中,所述第二预设速率小于所述第一预设速率。
10.根据权利要求6所述的装置,其特征在于,所述音频播放单元具体用于:
基于固定时间间隔从所述缓冲区B中获取所述待播放音频数据进行播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810280662.7A CN108495177B (zh) | 2018-03-30 | 2018-03-30 | 一种音频变速处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810280662.7A CN108495177B (zh) | 2018-03-30 | 2018-03-30 | 一种音频变速处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108495177A CN108495177A (zh) | 2018-09-04 |
CN108495177B true CN108495177B (zh) | 2021-07-13 |
Family
ID=63317855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810280662.7A Active CN108495177B (zh) | 2018-03-30 | 2018-03-30 | 一种音频变速处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108495177B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527782B (zh) * | 2019-09-19 | 2023-09-22 | 北京京东振世信息技术有限公司 | 一种数据处理的方法和装置 |
CN112511885A (zh) * | 2020-11-20 | 2021-03-16 | 深圳乐播科技有限公司 | 音视频同步方法、装置及存储介质 |
CN113131972B (zh) * | 2021-04-13 | 2022-04-15 | Oppo广东移动通信有限公司 | 接收和发送音频数据包的方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101500117A (zh) * | 2009-02-18 | 2009-08-05 | 腾讯科技(深圳)有限公司 | 一种视音频数据播放的控制方法及装置 |
CN103402136A (zh) * | 2013-07-29 | 2013-11-20 | 重庆大学 | 自适应调整缓存的控制方法、装置及自适应播放器 |
CN104618786A (zh) * | 2014-12-22 | 2015-05-13 | 深圳市腾讯计算机系统有限公司 | 音视频同步方法和装置 |
CN105245496A (zh) * | 2015-08-26 | 2016-01-13 | 广州市百果园网络科技有限公司 | 一种播放音频数据的方法和装置 |
CN105704554A (zh) * | 2016-01-22 | 2016-06-22 | 广州视睿电子科技有限公司 | 一种音频播放方法及装置 |
CN107333163A (zh) * | 2017-06-29 | 2017-11-07 | 上海鋆创信息技术有限公司 | 一种视频处理方法及装置、一种终端及存储介质 |
CN107566889A (zh) * | 2017-09-15 | 2018-01-09 | 深圳国微技术有限公司 | 音频流流速误差处理方法、装置、计算机装置及计算机可读存储介质 |
CN107846621A (zh) * | 2017-09-28 | 2018-03-27 | 北京京东尚科信息技术有限公司 | 延时处理方法、系统和电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170054782A1 (en) * | 2015-08-20 | 2017-02-23 | Qualcomm Innovation Center, Inc. | Optimal buffering scheme for streaming content |
-
2018
- 2018-03-30 CN CN201810280662.7A patent/CN108495177B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101500117A (zh) * | 2009-02-18 | 2009-08-05 | 腾讯科技(深圳)有限公司 | 一种视音频数据播放的控制方法及装置 |
CN103402136A (zh) * | 2013-07-29 | 2013-11-20 | 重庆大学 | 自适应调整缓存的控制方法、装置及自适应播放器 |
CN104618786A (zh) * | 2014-12-22 | 2015-05-13 | 深圳市腾讯计算机系统有限公司 | 音视频同步方法和装置 |
CN105245496A (zh) * | 2015-08-26 | 2016-01-13 | 广州市百果园网络科技有限公司 | 一种播放音频数据的方法和装置 |
CN105704554A (zh) * | 2016-01-22 | 2016-06-22 | 广州视睿电子科技有限公司 | 一种音频播放方法及装置 |
CN107333163A (zh) * | 2017-06-29 | 2017-11-07 | 上海鋆创信息技术有限公司 | 一种视频处理方法及装置、一种终端及存储介质 |
CN107566889A (zh) * | 2017-09-15 | 2018-01-09 | 深圳国微技术有限公司 | 音频流流速误差处理方法、装置、计算机装置及计算机可读存储介质 |
CN107846621A (zh) * | 2017-09-28 | 2018-03-27 | 北京京东尚科信息技术有限公司 | 延时处理方法、系统和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108495177A (zh) | 2018-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108495177B (zh) | 一种音频变速处理方法及装置 | |
CN108495164B (zh) | 音视频同步处理方法及装置、计算机装置及存储介质 | |
CN106470284B (zh) | 消除声学回声的方法、装置、系统、服务器及通话装置 | |
CN110312146B (zh) | 音频处理方法、装置、电子设备和存储介质 | |
CN107566889B (zh) | 音频流流速误差处理方法、装置、计算机装置及计算机可读存储介质 | |
CN108377406B (zh) | 一种调整音画同步的方法及装置 | |
CN110798458B (zh) | 数据同步方法、装置、设备及计算机可读存储介质 | |
CN111258532A (zh) | 音量自适应调节方法、装置、存储介质及电子设备 | |
CN107465824B (zh) | 音量调节方法、装置、移动终端及存储介质 | |
CN106973003B (zh) | 群组消息通知方法、客户端、电子设备和服务器 | |
WO2019033942A1 (zh) | 音量调节方法、装置、终端设备及存储介质 | |
CN111586529A (zh) | 音频数据处理方法、装置、终端和计算机可读存储介质 | |
CN113497852A (zh) | 自动音量调整方法、装置、介质和设备 | |
CN108882013A (zh) | 调整音视频播放速率的方法、装置、电子设备及存储介质 | |
CN110096250B (zh) | 一种音频数据处理方法、装置、电子设备及存储介质 | |
CN111352605A (zh) | 一种音频播放、发送的方法及装置 | |
CN116170632A (zh) | 一种声音补偿方法及装置 | |
CN106341519B (zh) | 音频数据处理方法和装置 | |
CN110928515B (zh) | 分屏显示方法、电子设备及计算机可读存储介质 | |
US11463493B2 (en) | Method and apparatus for playing media file | |
CN111787268B (zh) | 音频信号的处理方法、装置、电子设备及存储介质 | |
CN112307161B (zh) | 用于播放音频的方法和装置 | |
CN109862193B (zh) | 一种终端中来电视频的控制方法及装置 | |
CN108735239B (zh) | 一种音频播放的控制方法及终端设备 | |
JP2004354677A (ja) | 情報処理装置、その方法、そのプログラム、そのプログラムを記録した記録媒体、および、再生装置 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210302 Address after: Room 1702-03, Lantian Hesheng building, 32 Zhongguancun Street, Haidian District, Beijing 100082 Applicant after: BEIJING CENTURY TAL EDUCATION TECHNOLOGY Co.,Ltd. Address before: 102200 a1-05-001 maker Plaza, 338 Huilongguan East Street, Changping District, Beijing Applicant before: BEIJING SANTICLOUD TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |