CN109672745A - 用于FreeRTOS的音频在线播放控制方法和装置 - Google Patents
用于FreeRTOS的音频在线播放控制方法和装置 Download PDFInfo
- Publication number
- CN109672745A CN109672745A CN201811641543.6A CN201811641543A CN109672745A CN 109672745 A CN109672745 A CN 109672745A CN 201811641543 A CN201811641543 A CN 201811641543A CN 109672745 A CN109672745 A CN 109672745A
- Authority
- CN
- China
- Prior art keywords
- buffer area
- downloading
- task
- http
- audio
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Abstract
本发明公开用于FreeRTOS的音频在线播放控制方法和装置,其中,一种用于FreeRTOS的音频在线播放控制方法,包括:将HTTP下载任务下载的数据写入到缓存区中;当检测到网速不小于预设网速阈值时,持续向缓存区中写入数据直至缓存区满,向HTTP下载任务发送停止下载指令并记录下载中断点;响应于播放器任务播放至缓存区已缓存数据的第一预设缓存阈值时,向HTTP下载任务发送继续下载指令以从下载中断点开始继续下载;响应于缓存区满,向HTTP下载任务发送停止下载指令。本申请的方法和装置提供的方案利用HTTP的断点下载机制,加入状态机控制,实现可靠在线音频播放,下载可以随时立即停止,随时从任意位置开始。
Description
技术领域
本发明属于音频播放技术领域,尤其涉及用于FreeRTOS的音频在线播放控制方法和装置。
背景技术
相关技术中,窄带物联网(Narrow Band Internet of Things,NB-IoT)成为万物互联网络的一个重要分支。NB-IoT构建于蜂窝网络,只消耗大约180KHz的带宽,可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。
NB-IoT是IoT领域一个新兴的技术,支持低功耗设备在广域网的蜂窝数据连接,也被叫作低功耗广域网(LPWAN)。NB-IoT支持待机时间长、对网络连接要求较高设备的高效连接。据说NB-IoT设备电池寿命可以提高至少10年,同时还能提供非常全面的室内蜂窝数据连接覆盖。
随着NB-IOT物联网的快速发展,涌现出了很多的智能硬件,人们对联网设备的需求不再局限于电脑和手机。特别是语音类智能硬件对产品成本和功耗有着苛刻的要求,在更慢的主频,更小的内存的条件下,以前通用的HTTP下载变得不再适用。
发明内容
本发明实施例提供一种用于FreeRTOS的音频在线播放控制方法和装置,用于至少解决上述技术问题之一。
第一方面,本发明实施例提供一种用于FreeRTOS的音频在线播放控制方法,所述音频在线播放包括播放器任务和HTTP下载任务,所述方法包括:将HTTP下载任务下载的数据写入到缓存区中;当检测到网速不小于预设网速阈值时,持续向所述缓存区中写入数据直至所述缓存区满,向所述HTTP下载任务发送停止下载指令并记录下载中断点;响应于播放器任务播放至所述缓存区已缓存数据的第一预设缓存阈值时,向所述HTTP下载任务发送继续下载指令以从所述下载中断点开始继续下载;响应于缓存区满,向所述HTTP下载任务发送停止下载指令。
第二方面,本发明实施例提供一种用于FreeRTOS的音频在线播放控制装置,所述音频在线播放包括播放器任务和HTTP下载任务,所述装置包括:写入模块,配置为将HTTP下载任务下载的数据写入到缓存区中;第一缓存模块,配置为当检测到网速不小于预设网速阈值时,持续向所述缓存区中写入数据直至所述缓存区满,向所述HTTP下载任务发送停止下载指令并记录下载中断点;断点续存模块,配置为响应于播放器任务播放至所述缓存区已缓存数据的第一预设缓存阈值时,向所述HTTP下载任务发送继续下载指令以从所述下载中断点开始继续下载;以及第一停止下载模块,配置为响应于缓存区满,向所述HTTP下载任务发送停止下载指令。
第三方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的用于FreeRTOS的音频在线播放控制方法的步骤。
第四方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行本发明任一实施例的用于FreeRTOS的音频在线播放控制方法的步骤。
本申请的方法和装置提供的方案利用HTTP的断点下载机制,加入状态机控制,实现可靠在线音频播放,下载可以随时立即停止,随时立即从任意位置开始。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种用于FreeRTOS的音频在线播放控制方法的流程图;
图2为本发明一实施例提供的另一种用于FreeRTOS的音频在线播放控制方法的流程图;
图3为本发明一实施例提供的一具体实施例的缓存区原理图;
图4为本发明一实施例提供的一具体实施例的HTTP状态机示意图;
图5为本发明一实施例提供的一具体实施例的播放器状态机示意图;
图6为本发明一实施例提供的一具体实施例的播放器模块流程图;
图7为本发明一实施例提供的一具体实施例的环形缓存区原理图;
图8为本发明一实施例提供的一具体实施例的环形缓存区原理图;
图9为本发明一实施例提供的一种用于FreeRTOS的音频在线播放控制装置的框图;
图10是本发明一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,其示出了本申请的用于FreeRTOS的音频在线播放控制方法一实施例的流程图,本实施例的用于FreeRTOS的音频在线播放控制方法可以适用于主频满内存小的物联网设备。
如图1所示,在步骤101中,将HTTP下载任务下载的数据写入到缓存区中;
在步骤102中,当检测到网速不小于预设网速阈值时,持续向缓存区中写入数据直至缓存区满,向HTTP下载任务发送停止下载指令并记录下载中断点;
在步骤103中,响应于播放器任务播放至缓存区已缓存数据的第一预设缓存阈值时,向HTTP下载任务发送继续下载指令以从下载中断点开始继续下载;
在步骤104中,响应于缓存区满,向HTTP下载任务发送停止下载指令。
在本实施例中,音频在线播放包括HTTP下载任务和在线播放任务。对于步骤101,音频在线播放控制装置设置了缓存区,用于将HTTP下载任务下载的数据写入到缓存区中。之后,对于步骤102,当检测到网速比较快的时候,可以持续向缓存区中写入数据直至缓存区满,然后再向HTTP下载任务发送停止下载指令并保存下载的中断点。之后,对于步骤103,当发现播放器任务播放至缓存区的第一缓存数据阈值时,再向HTTP下载任务发送继续下载指令并从之前的下载中断点开始继续下载。最后,在步骤104中,如果缓存区又满了,则再次停止下载,之后如果又播放达到第一缓存数据阈值就再开始下载,如此反复,在此不再赘述。
本实施例的方法,通过设置缓存区,对于网络好的时候,先下载直至缓存区满停止下载,然后当播放到缓存区的第一预设阈值时,再重启下载,从而可以使得缓存区一直有数据,播放更加流畅,并且在缓存区满的时候停止下载,直至播放掉一定的缓存区阈值了再重新从断点处下载,可以很好地利用网络资源,不下载的时候也能将网络资源腾出来,用户可以边下边播,用户体验很好。
进一步参考图2,其示出了本申请一实施例提供的另一种用于FreeRTOS的音频在线播放控制方法一实施例的流程图。该流程图主要是针对流程图1中步骤101之后“检测到网速小于预设阈值时”的附加技术特征的步骤进一步限定的步骤的流程图。
如图2所示,在步骤201中,当检测到网速小于预设网速阈值时,向播放器任务发送等待指令;
在步骤202中,在缓存区缓存至第二预设缓存阈值时向播放器任务发送播放指令;
在步骤203中,当缓存区满时,向HTTP下载任务发送停止下载指令。
在本实施例中,对于步骤201,当检测到网速小于预设网速阈值时,说明网速不好,这个时候下载速度比较慢就无法达到网速好的时候能很快的写满缓存区,因此对于步骤202,让用户先等待缓存区中缓存了一定量的数据再开始播放。之后,对于步骤203,当缓存区写满之后,同样的向HTTP下载任务发送停止下载指令,以节约网络资源。
本实施例的方法限定了在网络不好的情况下的处理措施,能够让用户同样能够享受到流畅的播放而不会出现播一会卡一会的情况,从而用户也不会受到网络不好时非常不愉快的播放体验。
在一些可选的实施例中,上述方法还包括:当HTTP下载任务处于空闲状态时,响应于用户的下载请求,启动HTTP下载任务并为HTTP下载任务分配缓存区。
在进一步可选的实施例中,在启动HTTP下载任务并为HTTP下载任务分配缓存区之后,上述方法还包括:与用户的下载请求对应的地址建立连接,连接失败则重新连接;响应于重新连接的次数超过预设重连次数,停止HTTP下载任务。
在进一步可选的实施例中,上述方法还包括:响应于与下载请求对应的地址成功建立连接,从地址接收数据并将所接收的数据写入缓存区中。
进一步可选的,上述方法还包括:响应于接收数据超时,对下载请求进行重定向。
从而上述实施例形成了一个用于处理在线播放的完整的状态机,将各种情况都囊括,为用户提供一个对网络速度无感知的在线播放体验。不管网络好还是不好,都能做到流畅播放。
下面对通过描述发明人在实现本发明的过程中遇到的一些问题和对最终确定的方案的一个具体实施例进行说明,以使本领域技术人员更好地理解本申请的方案。
本申请的方案就是利用HTTP的断点下载机制,加入状态机控制,实现可靠在线音频播放,下载可以随时立即停止,随时立即从任意位置开始。
方案构思:
1、音频在线播放,主要分为播放器任务和HTTP下载任务,音频播放速度和HTTP下载速度总是不匹配的,所以两个任务之间有一个HTTP下载缓存。当网速较快时,HTTP下载任务会持续下载数据,直到HTTP下载缓存满,并停止下载,直到播放器读走一半数据,HTTP继续从上次位置开始下载。当网速较慢时,播放器任务会超时等待HTTP缓存到一定大小,再开始播放音频。具体的缓存区的处理示意图可以参考图3。
2、在线播放音频时,HTTP下载任务并不需要持续进行的。其中,在网速差的情况下,需要重复一定次数的连接,并在上次下载的位置,利用HTTP断点续传的功能,开始下载。在网速好的情况,填满下载缓存后,需要关闭HTTP连接,以节省网络资源,并等待下载缓存门限达到。HTTP协议是一种无状态的协议,通常都为请求-应答模式,并且音频播放的数据必须要连续,需要引入一个HTTP状态机来管理这些状态:
IDLE:HTTP下载任务处于空闲状态
Start:HTTP下载任务分配资源,准备启动下载
Connect:HTTP任务处于连接状态,如果重连达到一定数量则直接停止当前下载
Receiving:HTTP任务接收数据,并判断HTTP是否需要重定向,并对不支持断点续传的服务器进行已读数据跳过
Push_Data:写入数据到HTTP下载缓存中
Wait_Range:等待HTTP下载缓存的空闲门限
Stop:HTTP任务停止下载,并释放所有资源
具体的HTTP下载的处理状态机示意图可以参考图4。
3.对于音频播放器来说核心任务是围绕音频解码来进行的,完成对原始音频数据的解码,最后将PCM数据写入Ring Buffer中。为了保证解码任务中输入输出数据流的连续性,以及播放器的实时响应速度,播放器由状态机来进行控制,播放器状态机由外部事件进行驱动:
IDLE:空闲状态
START:启动状态,打开音频文件,并预读一部分数据来判断是AAC还是MP3,并启动相应的解码器,完成I2S初始化和Codec初始化
PLAY:播放状态,同步播放进度,并监控音频解码是否结束
PAUSE:暂停状态,停止音频解码和PCM输出播放
BREAK:中断状态,当播放音频的时候,被提示音打断可进入此状态,提示音播完自动续播当前音频
STOP:停止状态,解码自动结束或主动停止,关闭音频文件,底层I2S以及Codec
具体的音频播放器的状态切换可以参考图5。
框架设计:
音频播放器由Common Player,AAC/MP3 Decoder,Ring Buffer,PCM Trans等组成:
Common Player:控制音频解码和PCM传输的连续进行,实现音频流播放
Ring Buffer:存放PCM数据,通过DMA传输给Codec
AAC/MP3 Decoder:实时解码音频原始数据成PCM数据
PCM Trans:通过I2S配置采样率,通道数,进行PCM传输
具体的框架模块的流程示意图可以参考图6。
其中,各模块的介绍如下所示:
1.Common Player模块:
a.控制音频解码,协调播放器各个子模块之间的工作,实现暂停播放/恢复播放/快进/快退
b.识别音频文件类型(MP3/AAC/M4A),并打开对应的解码器模块
c.调用Resamplerate模块,对解码产生的PCM数据进行重采样,再写入到RingBuffer中
d.管理Ring Buffer,当Ring Buffer数据满时,暂停解码器,随着播放的进行RingBuffer低于设定值时,开启解码器
2.Audio File模块,音频文件抽象,管理HTTP,SD Card音频文件,对外屏蔽对音频源文件的复杂操作,并提供统一的接口:
audio_file_open,指定文件类型,打开音频文件
audio_file_close,关闭音频文件
audio_file_read,读取音频文件
audio_file_seek,移动读取位置
audio_file_size,获取音频文件大小
audio_file_tell,当前读取位置
3.Ring Buffer,实际播放过程中Codec是匀速消耗PCM数据的,为了播放的连续性,需要在AAC/MP3 Decoder模块和PCM Trans模块之间放置Ring Buffer来进行PCM数据缓存。Ring Buffer为环形缓存,内存不需要动态申请和释放,写入和读取都非常迅速。其中,Ring Buffer的原理图可以参考图7。
4.AAC/MP3 Decoder,目前只加入了AAC和MP3解码器,实现对mp3,aac,m4a等音频格式解码操作,以后可扩展加入更多的解码器:
a.MP3 Decoder,基于libmad实现,libmad是一个开源的高精度MPEG音频解码库,支持MPEG-1(Layer I,Layer II和LayerIII(也就是MP3)。LIBMAD提供24-bit的PCM输出,完全是定点计算,非常适合没有浮点支持的平台上使用。
b.AAC Decoder,基于libfaad实现,libfaad是一个开源的MPEG2&MPEG-4AAC音频解码库。
具体的音频处理流程请参考图8所示。
5.Resamplerate,底层Codec采样频率固定设置成32k,所有解码的PCM采样率都要转换成32k,才能进行正确播放,这里基于alsa下的libsamplerate重采样开源库实现
6.PCM Trans,PCM传输抽象层,对上层解码屏蔽底层I2S和Codec的操作,并提供统一的接口:
a.pcm_trans_start_tx,启动PCM传输
b.pcm_trans_stop_tx,关闭PCM传输
c.pcm_trans_register_data_request_callback,注册PCM传输请求中断
请参考图9,其示出了本发明一实施例提供的用于FreeRTOS的音频在线播放控制装置的框图。
如图9所示,一种用于FreeRTOS的音频在线播放控制装置900,包括写入模块910、第一缓存模块920、断点续存模块930和第一停止下载模块940。
其中,写入模块910,配置为将HTTP下载任务下载的数据写入到缓存区中;第一缓存模块920,配置为当检测到网速不小于预设网速阈值时,持续向缓存区中写入数据直至缓存区满,向HTTP下载任务发送停止下载指令并记录下载中断点;断点续存模块930,配置为响应于播放器任务播放至缓存区已缓存数据的第一预设缓存阈值时,向HTTP下载任务发送继续下载指令以从下载中断点开始继续下载;以及第一停止下载模块940,配置为响应于缓存区满,向HTTP下载任务发送停止下载指令。
在一些可选的实施例中,上述用于FreeRTOS的音频在线播放控制装置装置900,还包括等待模块(图中未示出)、第二缓存模块(图中未示出)和第二停止下载模块(图中未示出)。
其中,等待模块,配置为当检测到网速小于预设网速阈值时,向播放器任务发送等待指令;第二缓存模块,配置为在缓存区缓存至第二预设缓存阈值时向播放器任务发送播放指令;以及第二停止下载模块,配置为当缓存区满时,向HTTP下载任务发送停止下载指令。
应当理解,图9中记载的诸模块与参考图1和图2中描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征以及相应的技术效果同样适用于图9中的诸模块,在此不再赘述。
值得注意的是,本公开的实施例中的模块并不用于限制本公开的方案,例如属性分析模块可以描述为基于获取的用户的声纹信息,分析用户的基础属性的模块。另外,还可以通过硬件处理器来实现相关功能模块,例如属性分析模块也可以用处理器实现,在此不再赘述。
在另一些实施例中,本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的用于FreeRTOS的音频在线播放控制方法;
作为一种实施方式,本发明的非易失性计算机存储介质存储有计算机可执行指令,计算机可执行指令设置为:
将HTTP下载任务下载的数据写入到缓存区中;
当检测到网速不小于预设网速阈值时,持续向所述缓存区中写入数据直至所述缓存区满,向所述HTTP下载任务发送停止下载指令并记录下载中断点;
响应于播放器任务播放至所述缓存区已缓存数据的第一预设缓存阈值时,向所述HTTP下载任务发送继续下载指令以从所述下载中断点开始继续下载;
响应于缓存区满,向所述HTTP下载任务发送停止下载指令。
非易失性计算机可读存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据用于FreeRTOS的音频在线播放控制装置的使用所创建的数据等。此外,非易失性计算机可读存储介质可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,非易失性计算机可读存储介质可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至用于FreeRTOS的音频在线播放控制装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明实施例还提供一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行上述任一项用于FreeRTOS的音频在线播放控制方法。
图6是本发明实施例提供的电子设备的结构示意图,如图6所示,该设备包括:一个或多个处理器610以及存储器620,图6中以一个处理器610为例。用于FreeRTOS的音频在线播放控制方法的设备还可以包括:输入装置630和输出装置640。处理器610、存储器620、输入装置630和输出装置640可以通过总线或者其他方式连接,图6中以通过总线连接为例。存储器620为上述的非易失性计算机可读存储介质。处理器610通过运行存储在存储器620中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例用于FreeRTOS的音频在线播放控制方法。输入装置630可接收输入的数字或字符信息,以及产生与音频在线播放控制装置的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏等显示设备。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
作为一种实施方式,上述电子设备应用于用于FreeRTOS的音频在线播放控制装置中,用于客户端,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:
将HTTP下载任务下载的数据写入到缓存区中;
当检测到网速不小于预设网速阈值时,持续向所述缓存区中写入数据直至所述缓存区满,向所述HTTP下载任务发送停止下载指令并记录下载中断点;
响应于播放器任务播放至所述缓存区已缓存数据的第一预设缓存阈值时,向所述HTTP下载任务发送继续下载指令以从所述下载中断点开始继续下载;
响应于缓存区满,向所述HTTP下载任务发送停止下载指令。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种用于FreeRTOS的音频在线播放控制方法,所述音频在线播放包括播放器任务和HTTP下载任务,所述方法包括:
将HTTP下载任务下载的数据写入到缓存区中;
当检测到网速不小于预设网速阈值时,持续向所述缓存区中写入数据直至所述缓存区满,向所述HTTP下载任务发送停止下载指令并记录下载中断点;
响应于播放器任务播放至所述缓存区已缓存数据的第一预设缓存阈值时,向所述HTTP下载任务发送继续下载指令以从所述下载中断点开始继续下载;
响应于缓存区满,向所述HTTP下载任务发送停止下载指令。
2.根据权利要求1所述的方法,其中,所述方法还包括:
当检测到网速小于预设网速阈值时,向所述播放器任务发送等待指令在所述缓存区缓存至第二预设缓存阈值时向所述播放器任务发送播放指令;
当所述缓存区满时,向所述HTTP下载任务发送停止下载指令。
3.根据权利要求1所述的方法,其中,所述方法还包括:
当所述HTTP下载任务处于空闲状态时,响应于用户的下载请求,启动所述HTTP下载任务并为所述HTTP下载任务分配所述缓存区。
4.根据权利要求3所述的方法,其中,在所述启动所述HTTP下载任务并为所述HTTP下载任务分配所述缓存区之后,所述方法还包括:
与所述用户的下载请求对应的地址建立连接,连接失败则重新连接;
响应于重新连接的次数超过预设重连次数,停止所述HTTP下载任务。
5.根据权利要求4所述的方法,其中,所述方法还包括:
响应于与所述下载请求对应的地址成功建立连接,从所述地址接收数据并将所接收的数据写入所述缓存区中。
6.根据权利要求5所述的方法,其中,所述方法还包括:
响应于接收数据超时,对所述下载请求进行重定向。
7.一种用于FreeRTOS的音频在线播放控制装置,所述音频在线播放包括播放器任务和HTTP下载任务,所述装置包括:
写入模块,配置为将HTTP下载任务下载的数据写入到缓存区中;
第一缓存模块,配置为当检测到网速不小于预设网速阈值时,持续向所述缓存区中写入数据直至所述缓存区满,向所述HTTP下载任务发送停止下载指令并记录下载中断点;
断点续存模块,配置为响应于播放器任务播放至所述缓存区已缓存数据的第一预设缓存阈值时,向所述HTTP下载任务发送继续下载指令以从所述下载中断点开始继续下载;
第一停止下载模块,配置为响应于缓存区满,向所述HTTP下载任务发送停止下载指令。
8.根据权利要求1所述的装置,还包括:
等待模块,配置为当检测到网速小于预设网速阈值时,向所述播放器任务发送等待指令;
第二缓存模块,配置为在所述缓存区缓存至第二预设缓存阈值时向所述播放器任务发送播放指令;
第二停止下载模块,配置为当所述缓存区满时,向所述HTTP下载任务发送停止下载指令。
9.一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至6任一项所述方法的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811641543.6A CN109672745A (zh) | 2018-12-29 | 2018-12-29 | 用于FreeRTOS的音频在线播放控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811641543.6A CN109672745A (zh) | 2018-12-29 | 2018-12-29 | 用于FreeRTOS的音频在线播放控制方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109672745A true CN109672745A (zh) | 2019-04-23 |
Family
ID=66147420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811641543.6A Pending CN109672745A (zh) | 2018-12-29 | 2018-12-29 | 用于FreeRTOS的音频在线播放控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109672745A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112839095A (zh) * | 2021-01-13 | 2021-05-25 | 深圳朝元科技有限公司 | 利用Http协议实现基于RTOS系统在线播放的方法 |
CN113129861A (zh) * | 2019-12-30 | 2021-07-16 | 华为技术有限公司 | 一种文本转语音的处理方法、终端及服务器 |
CN113284521A (zh) * | 2021-05-19 | 2021-08-20 | 前海七剑科技(深圳)有限公司 | 音频播放的方法、装置、设备、存储介质、程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1946168A (zh) * | 2006-09-08 | 2007-04-11 | 智易科技股份有限公司 | 网路媒体播放装置及其播放方法 |
CN103051955A (zh) * | 2012-12-21 | 2013-04-17 | 华为技术有限公司 | 流媒体播放方法及装置 |
CN103391468A (zh) * | 2012-05-08 | 2013-11-13 | 安凯(广州)微电子技术有限公司 | 一种基于移动终端的网络视频数据的缓冲控制方法及系统 |
CN105245940A (zh) * | 2015-10-08 | 2016-01-13 | 北京时医康科技发展有限公司 | 一种窄带宽在线播放高清视频的方法及播放器 |
CN105979345A (zh) * | 2015-12-03 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种视频数据的处理方法及装置 |
CN106658049A (zh) * | 2016-12-31 | 2017-05-10 | 深圳市优必选科技有限公司 | 一种视频播放缓冲方法及系统 |
US20180332316A1 (en) * | 2015-11-18 | 2018-11-15 | Shenzhen Tcl New Technology Co., Ltd | Method and device for accelerating playback of a single-fragment video |
-
2018
- 2018-12-29 CN CN201811641543.6A patent/CN109672745A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1946168A (zh) * | 2006-09-08 | 2007-04-11 | 智易科技股份有限公司 | 网路媒体播放装置及其播放方法 |
CN103391468A (zh) * | 2012-05-08 | 2013-11-13 | 安凯(广州)微电子技术有限公司 | 一种基于移动终端的网络视频数据的缓冲控制方法及系统 |
CN103051955A (zh) * | 2012-12-21 | 2013-04-17 | 华为技术有限公司 | 流媒体播放方法及装置 |
CN105245940A (zh) * | 2015-10-08 | 2016-01-13 | 北京时医康科技发展有限公司 | 一种窄带宽在线播放高清视频的方法及播放器 |
US20180332316A1 (en) * | 2015-11-18 | 2018-11-15 | Shenzhen Tcl New Technology Co., Ltd | Method and device for accelerating playback of a single-fragment video |
CN105979345A (zh) * | 2015-12-03 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种视频数据的处理方法及装置 |
CN106658049A (zh) * | 2016-12-31 | 2017-05-10 | 深圳市优必选科技有限公司 | 一种视频播放缓冲方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113129861A (zh) * | 2019-12-30 | 2021-07-16 | 华为技术有限公司 | 一种文本转语音的处理方法、终端及服务器 |
CN112839095A (zh) * | 2021-01-13 | 2021-05-25 | 深圳朝元科技有限公司 | 利用Http协议实现基于RTOS系统在线播放的方法 |
CN113284521A (zh) * | 2021-05-19 | 2021-08-20 | 前海七剑科技(深圳)有限公司 | 音频播放的方法、装置、设备、存储介质、程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109240107B (zh) | 一种电器设备的控制方法、装置、电器设备和介质 | |
US7568057B2 (en) | Method and apparatus for maintaining synchronization of audio in a computing system | |
JP6742465B2 (ja) | ブルートゥーススピーカーにおける連続ウェイクアップ遅延低減の方法、装置及びブルートゥーススピーカー | |
US9191417B2 (en) | Cross-process media handling in a voice-over-internet protocol (VOIP) application platform | |
CN109672745A (zh) | 用于FreeRTOS的音频在线播放控制方法和装置 | |
CN107731231B (zh) | 一种支持多云端语音服务的方法及一种存储设备 | |
CN101702676B (zh) | 数据缓冲处理的方法和装置 | |
US20120245718A1 (en) | Exposing off-host audio processing capabilities | |
CN113037929B (zh) | 一种信息接力输出方法、装置、电子设备及存储介质 | |
US9241292B2 (en) | Seamless application connectivity | |
CN106528133B (zh) | 一种应用于多系统的设备请求处理方法及装置 | |
US20140029764A1 (en) | Virtual machine-based sound control for computerized devices in a networked computing environment | |
CN103294444A (zh) | 计算机共享平台中音频数据的提供方法及装置 | |
WO2018119711A1 (zh) | 多操作系统多媒体编解码方法、装置及电子设备 | |
CN109545211A (zh) | 语音交互方法及系统 | |
JP7311707B2 (ja) | ヒューマンマシン対話処理方法 | |
CN109599133B (zh) | 语言音轨的切换方法、装置、计算机设备及存储介质 | |
CN108182930B (zh) | 音效处理方法、设备及音视频点播系统 | |
US20080147918A1 (en) | Method and apparatus for maintaining synchronization of audio in a computing system | |
WO2016049566A1 (en) | Latency reduction | |
CN110989816B (zh) | 应用的处理方法、装置以及存储介质 | |
CN110874343B (zh) | 基于深度学习芯片进行语音处理的方法和深度学习芯片 | |
WO2023072028A1 (zh) | 音乐缓存方法、装置、电子设备及存储介质 | |
CN111460211A (zh) | 音频信息播放方法、装置和电子设备 | |
CN105657540B (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 | ||
CB02 | Change of applicant information |
Address after: 215123 building 14, Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Suzhou City, Jiangsu Province Applicant after: Sipic Technology Co.,Ltd. Address before: 215123 building 14, Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Suzhou City, Jiangsu Province Applicant before: AI SPEECH Co.,Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190423 |
|
RJ01 | Rejection of invention patent application after publication |