CN113315810B - 一种在线音频播放方法及设备 - Google Patents
一种在线音频播放方法及设备 Download PDFInfo
- Publication number
- CN113315810B CN113315810B CN202110475963.7A CN202110475963A CN113315810B CN 113315810 B CN113315810 B CN 113315810B CN 202110475963 A CN202110475963 A CN 202110475963A CN 113315810 B CN113315810 B CN 113315810B
- Authority
- CN
- China
- Prior art keywords
- audio
- playing
- target
- file
- cache region
- 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
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/638—Presentation of query results
-
- 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
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请的目的是提供一种在线音频播放方法及设备,本申请在播放设备已有的可执行内存中建立一音频缓存区,所述播放设备还包括音频播放器及其对应的播放缓存区;采用断点续传的方式,从目标服务器分段下载目标音频文件至所述音频缓存区,并在所述音频缓存区已满时,将所述音频缓存区内已下载的目标音频文件的文件内容,按照所述断点续传的方式进行的分段顺序写入播放缓存区;通过所述音频播放器按序播放所述播放缓存区的所述文件内容,实现了低硬件配置的播放设备在不用下载或保存完整的音频文件的情况下,能够在线播放丰富的音频资源。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种在线音频播放方法及设备。
背景技术
针对硬件资源紧张(如RAM小,Flash小),软件平台是RTOS,且不支持成熟的流媒体播放协议的设备,这类设备无法完整的下载或者保存一首或多首音频资源(通常情况下,一首音质尚可的MP3需要至少2~3MB的存储空间),对于小Flash设备(比如只有几MB~十几MB存储空间),大多数情况无法下载或保存完整的音频资源,进而无法为用户提供良好的音频播放服务,因此考虑实现一种简单实用的在线音频播放技术,让这类设备在不用下载或保存完整音频文件的情况下,可以实现丰富的在线音频资源播放。
发明内容
本申请的一个目的是提供一种在线音频播放方法及设备,以实现低硬件配置的播放设备在不用下载或保存完整的音频文件的情况下,能够在线播放丰富的音频资源。
根据本申请的一个方面,提供了一种在线音频播放方法,应用于播放设备端,其中,所述方法包括:
在播放设备已有的可执行内存中建立一音频缓存区,所述播放设备还包括音频播放器及其对应的播放缓存区;
采用断点续传的方式,从目标服务器分段下载目标音频文件至所述音频缓存区,并在所述音频缓存区已满时,将所述音频缓存区内已下载的目标音频文件的文件内容,按照所述断点续传的方式进行的分段顺序写入播放缓存区;
通过所述音频播放器按序播放所述播放缓存区的所述文件内容。
进一步地,上述一种基于低硬件配置的在线音频播放方法,其中,所述在播放设备已有的可执行内存中建立一音频缓存区之前,还包括:
获取所述播放设备可支持的最高播放码率;
根据所述最高播放码率,确定所述音频缓存区的第一预设缓存长度;
其中,所述在播放设备已有的可执行内存中建立一音频缓存区,包括:
在所述播放设备已有的可执行内存中,对应创建所述第一预设缓存长度的音频缓存区。
进一步地,上述一种基于低硬件配置的在线音频播放方法,其中,所述在播放设备已有的可执行内存中建立一音频缓存区之前,还包括:
获取所有音频文件中的每个音频文件的播放码率;
根据每个所述音频文件的播放码率,确定所述播放码率的不同播放级别;
确定不同播放级别对应的音频缓存区的不同第二预设缓存长度;
其中,所述在播放设备已有的可执行内存中建立一音频缓存区,包括:
获取所述目标音频文件的目标播放码率;
确定所述目标播放码率所属的目标播放级别;
在所述播放设备已有的可执行内存中,对应创建与所述目标播放级别对应的目标第二预设缓存长度的音频缓存区。
进一步地,上述一种基于低硬件配置的在线音频播放方法,其中,所述在所述音频缓存区已满时,将所述音频缓存区内已下载的目标音频文件的文件内容,按照所述断点续传的方式进行的分段顺序写入播放缓存区之后,所述方法还包括:
实时判断所述音频缓存区的剩余内存是否达到预设内存阈值,
若是,则继续采用断点续传的方式,从所述目标服务器分段下载所述目标音频文件的剩余文件内容至所述音频缓存区,直至所述音频缓存区已满或已下载完所述目标音频文件。
进一步地,上述一种基于低硬件配置的在线音频播放方法,其中,所述方法还包括:
监测从服务器分段下载所述目标音频文件的下载速率;
判断所述下载速率是否小于预设下载速率阈值,
若是,则向存储有所述目标音频文件的服务器发送网络连接请求。
进一步地,上述一种基于低硬件配置的在线音频播放方法,其中,所述向存储有所述目标音频文件的服务器发送网络连接请求,包括:
向所述目标服务器发送所述网络连接请求。
进一步地,上述一种基于低硬件配置的在线音频播放方法,其中,所述向存储有所述目标音频文件的服务器发送网络连接请求,包括:
向所述播放设备中缓存过的、多个历史服务器中的一目标历史服务器,发送所述网络连接请求。
根据本申请的另一方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述一种在线音频播放方法。
根据本申请的另一方面,还提供了一种在线音频播放设备,其中,所述设备包括:
一个或多个处理器;
非易失性存储介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述一种在线音频播放方法。
与现有技术相比,本申请在播放设备已有的可执行内存中建立一音频缓存区,所述播放设备还包括音频播放器及其对应的播放缓存区;采用断点续传的方式,从目标服务器分段下载目标音频文件至所述音频缓存区,并在所述音频缓存区已满时,将所述音频缓存区内已下载的目标音频文件的文件内容,按照所述断点续传的方式进行的分段顺序写入播放缓存区;通过所述音频播放器按序播放所述播放缓存区的所述文件内容,实现了低硬件配置的播放设备在不用下载或保存完整的音频文件的情况下,能够在线播放丰富的音频资源。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种在线音频播放方法的流程示意图;
图2示出根据本申请一个方面的一种在线音频播放方法的模块示意图;
图3示出根据本申请一个方面的一种在线音频播放方法的网络监控示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如图1所示,本申请一个方面的一种在线音频播放方法的流程示意图。其中,一种在线音频播放方法,应用于播放设备端,其中,所述方法包括:步骤S11、步骤S12及步骤S13,具体包括如下步骤:
步骤S11,在播放设备已有的可执行内存中建立一音频缓存区,所述播放设备还包括音频播放器及其对应的播放缓存区;在此,所述音频缓存区是在既有的可执行内存(即随机存取存储器(Random Access Memory,RAM))中申请的一块连续的内存空间,这块空间称之为缓存,其实现方式包括但不限于以下方式,通过实时操作***RTOS的内存申请接口,比如通过malloc(即动态分配内存)函数动态申请N个Bytes的内存空间,或者定会一个数据类型为Byte型的长度为N的静态数组,本申请适用的***包括但不限于RTOS***,在非RTOS***中以及支持更大RAM和更大Flash的***中同样适用;建立所述音频缓存区之后,通过环形队列的管理方式来控制所述音频缓存中数据的增加和淘汰。
步骤S12,采用断点续传的方式,从目标服务器分段下载目标音频文件至所述音频缓存区,并在所述音频缓存区已满时,将所述音频缓存区内已下载的目标音频文件的文件内容,按照所述断点续传的方式进行的分段顺序写入播放缓存区;在此,通过超文本传输协议(Hypertext Transfer Protocol,HTTP或Hyper Text Transfer Protocol overSecureSocket Layer,HTTPS)中的GET获取方法可以指定需要获取的文件内容的起始位置和长度特征,实现从所述目标服务器上将所述目标音频文件分段现在到所述音频缓存区中,并可以做到断点续传。
在步骤S12中,断点续传的方式中采用文件传输协议(File Transfer Protocol,FTP),FTP客户端软件断点续传指的是在下载或上传时,将下载或上传任务(一个文件或一个压缩包)人为的划分为几个部分,每一个部分采用一个线程进行上传或下载,如果碰到网络故障,可以从已经上传或下载的部分开始继续上传下载未完成的部分,而没有必要从头开始上传下载,以便用户可以节省时间,提高速度。
步骤S13,通过所述音频播放器按序播放所述播放缓存区的所述文件内容。在此,通过所述音频播放器按照从所述音频缓存区写入所述播放缓存区的顺序播放所述播放缓存区的所述文件内容。
通过上述步骤S11至步骤S13,本申请在播放设备已有的可执行内存中建立一音频缓存区,所述播放设备还包括音频播放器及其对应的播放缓存区;采用断点续传的方式,从目标服务器分段下载目标音频文件至所述音频缓存区,并在所述音频缓存区已满时,将所述音频缓存区内已下载的目标音频文件的文件内容,按照所述断点续传的方式进行的分段顺序写入播放缓存区;通过所述音频播放器按序播放所述播放缓存区的所述文件内容,实现了低硬件配置的播放设备在不用下载或保存完整的音频文件的情况下,能够在线播放丰富的音频资源。
例如,在本申请的一优选实施例中,在一低硬件配置的播放设备的可执行内存RAM中申请一块连续的内存空间作为音频缓存区,并通过环形队列的管理方式来控制所述音频缓存区中数据的增加和淘汰,从目标服务器上将目标音频文件下载到所述音频缓存区,其中,在下载所述目标音频文件时,通过HTTP(或HTTPS)协议中的GET方法可以从目标服务器上下载指定起始位置和长度特征的文件内容,从而实现将所述目标音频文件分段下载到所述音频缓存区,当所述音频缓存区已满时,将所述音频缓存区已经下载的目标音频文件的文件内容按照从所述目标服务器下载到所述音频缓存区的顺序写入到所述播放缓存区,使得所述播放设备中的音频播放器播放所述播放缓存区中的所述文件内容,在所述音频播放器播放所述播放缓存区中的所述文件内容时,按照写入所述播放缓存区的先后顺序对所述文件内容进行播放,所述音频缓存区在所述音频播放器播放所述播放缓存区中的所述文件内容的同时,不断的向所述播放缓存区写入所述目标音频文件的文件内容,以确保所述音频播放器在播放过程中不会出现间断或卡顿就的情况。
接着本申请的上述实施例,所述步骤S11在播放设备已有的可执行内存中建立一音频缓存区之前,还包括:
获取所述播放设备可支持的最高播放码率;
根据所述最高播放码率,确定所述音频缓存区的第一预设缓存长度;
需要说明的是,在播放设备已有的可执行内存中建立音频缓存区,可以通过以下方式实现,比如,预估所述播放设备能够支持的音频文件的播放码率上限(即可支持的最高播放码率),然后按照所述播放设备能够支持的音频文件的最高播放码率设定固定的第一预设缓存长度,从而能够根据所述第一预设缓存长度在所述播放设备已有的可执行内存中建立音频缓存区。
其中,所述在播放设备已有的可执行内存中建立一音频缓存区,包括:
在所述播放设备已有的可执行内存中,对应创建所述第一预设缓存长度的音频缓存区。
为了节省播放设备对音频缓存区的缓存长度进行调整的资源,在播放设备已有的可执行内存中建立音频缓存区之前,可以直接获取播放设备可支持的最高播放码率,然后根据所述最高播放码率确定所述音频缓存区的第一预设缓存长度,以便后续无论获取到何种播放码率的目标音频文件且需要播放缓存时,可以直接根据所述第一预设缓存长度在所述播放设备已有的可执行内存中对应创建用于待缓存目标音频文件的音频缓存区,且该音频缓存区的缓存长度为所述第一预设缓存长度,不仅可以节省每次计算创建的音频缓存区的缓存长度的资源,还可以满足播放设备可支持的最高播放码率,尽可能地满足用户的播放需求。
在本申请的一优选实施例中,所述最高播放码率可以取播放设备能够支持的任何大小的最高播放码率,根据所述最高播放码率确定所述播放设备在当前所述最高播放码率下能够支持的最长时间,在本申请中,将所述可支持的最高播放码率优选为300kbps,若播放设备在最高播放码率为300kbps时能够支持的最长时间为30s,则按照所述最高播放码率300kbps确定第一预设缓存长度,并在所述播放设备已有的可执行内存中建立与所述第一预设缓存长度相对应音频缓存区,比如所述音频缓存区的大小为300kbps*30s/8=1125KB。
接着本申请的上述实施例,其中,所述在播放设备已有的可执行内存中建立一音频缓存区之前,还包括:
获取所有音频文件中的每个音频文件的播放码率;
根据每个所述音频文件的播放码率,确定所述播放码率的不同播放级别;
确定不同播放级别对应的音频缓存区的不同第二预设缓存长度;
需要说明的是,在播放设备已有的可执行内存中建立音频缓存区,还可以通过以下方式实现,在每次从服务器下载每个音频文件之前,都需要在所述播放设备已有的可执行内存中建立音频缓存区,当下次需要从服务器下载音频文件之前,首先将上一次已经建立的音频缓存区释放,在按照每次建立音频缓存区的步骤建立音频缓存区即可;进一步地,获取每个音频文件的播放码率,根据每个所述音频文件的播放码率确定所述播放码率的不同播放级别,其中,所述播放级别的表现形式包括但不限于缓存区间或一具体的缓存长度值等,根据不同的播放级别确定不同的第二预设缓存长度,使得不同播放码率可以匹配创建不同的缓存长度的音频缓存区,以实现实际应用场景中的不同播放码率的缓存需求。
其中,所述在播放设备已有的可执行内存中建立一音频缓存区,包括:
获取所述目标音频文件的目标播放码率;
确定所述目标播放码率所属的目标播放级别;
在所述播放设备已有的可执行内存中,对应创建与所述目标播放级别对应的目标第二预设缓存长度的音频缓存区。
为了节省播放设备中可执行内存的空间资源,在播放设备已有的可执行内存中建立音频缓存区之前,可以在播放目标音频文件之前,获取当前次需要下载的目标音频文件的目标播放码率,根据当前次目标音频文件的目标播放码率确定当前次的播放级别,然后根据当前次的播放级别确定当前次的目标第二预设缓存长度,根据所述目标第二预设缓存长度在所述播放设备已有的可执行内存中建立当前次的音频缓存区,且该音频缓存区的缓存长度为所述第二预设缓存长度,不仅可以尽可能的减少对播放设备中可执行内存空间的占用,又能保障音频文件播放的流畅性,还能满足不同播放码率的缓存需求。
例如,在本申请的一优选实施例中,每次需要播放的目标音频文件的目标播放码率可以包括任何大小,预设目标音频文件的目标播放码率对应的时间长度,其中所述时间长度可以包括任何取值,在本申请中,将当前次目标音频文件的目标播放码率优选为50kbps,预设的时间长度为30s,则按照30s的时间长度下的播放码率为50kbps时确定第二预设缓存长度,并在所述播放设备已有的可执行内存中建立与所述第二预设缓存长度相对应音频缓存区,其中所述音频缓存区的大小为50kbps*30s/8=187.5KB。
接着本申请的上述实施例,其中,所述步骤S12在所述音频缓存区已满时,将所述音频缓存区内已下载的目标音频文件的文件内容,按照所述断点续传的方式进行的分段顺序写入播放缓存区之后,所述方法还包括:
实时判断所述音频缓存区的剩余内存是否达到预设内存阈值,在此,所述预设内存阈值包括但不限于任何取值的内存值;
若是,则继续采用断点续传的方式,从所述目标服务器分段下载所述目标音频文件的剩余文件内容至所述音频缓存区,直至所述音频缓存区已满或已下载完所述目标音频文件。
如图2所示,在所述音频缓存区已满时,将所述音频缓存区内已下载的目标音频文件的文件内容,按照所述断点续传的方式进行的分段顺序写入播放缓存区之后,还需要实时判断所述音频缓存区的剩余内存是否达到预设内存阈值。在此,实时判断是为了能够及时了解音频缓存区中的缓存剩余,以便及时从服务器向所述音频缓存区下载目标音频文件的文件内容,从而确保后续播放的流畅性;其中,所述预设内存阈值表示所述音频缓存区内已经下载的目标音频文件的文件内容的消耗量,所述预设内存阈值越大表示已经下载的所述目标音频文件的文件内容消耗量越多,所述预设内存阈值越小表示已经下载的所述目标音频文件的文件内容消耗量越少;所述预设内存阈值可以根据网络的不同状况进行设定,比如在网络状况良好的情况下,可以将所述预设内存阈值设置的大一些,因为若网络状况良好,即使已经下载的所述目标音频文件的文件内容消耗量比较多,也能够即使得到补充,在网络状况较差的情况下,可以将所述预设内存阈值设置的小一些,因为若网络状况较差,为了能够使得所述音频缓存区中已经下载的目标音频文件的文件内容的消耗量得到及时的补充,避免已经下载的目标音频文件的文件内容的消耗速度大于从服务器下载的速度导致播放卡顿,则需要将所述预设内存阈值设置的小一些。
若实时判断得到的结果是:所述音频缓存区的剩余内存已达到预设内存阈值,则需要继续采用断点续传的方式,从所述目标服务器分段下载所述目标音频文件的剩余文件内容至所述音频缓存区,直至所述音频缓存区已满或已下载完所述目标音频文件,避免音频缓存区已缓存的文件内容全部写入至播放缓存区后,导致无法及时下载音频文件而出现播放卡顿或播放质量不佳等问题,以确保音频播放器的流畅播放。若实时判断得到的结果是:所述音频缓存区的剩余内存未达到预设内存阈值,则继续将音频缓存区已缓存的目标音频文件的文件内容依序写入播放缓存区,暂时不需要继续从目标服务器下载所述目标音频文件的剩余文件内容至所述音频缓存区。
例如,在本申请的一优选实施例中,若处于4G等网速较快的网络中时,可以将预设内存阈值设定为音频缓存区大小的2/3,实时对所述音频缓存区的剩余内存大小进行判断,若所述剩余内存大小达到所述预设缓存区大小的2/3,则继续采用断点续传的方式,从目标服务器分段下载目标音频文件的剩余文件内容至所述音频缓存区,直至所述音频缓存区已满或已下载完所述目标音频文件,从而避免了音频缓存区已缓存的文件内容全部写入至播放缓存区后,导致无法及时下载音频文件而出现播放卡顿或播放质量不佳等问题,以确保音频播放器的流畅播放;若所述剩余内存大小未达到所述预设缓存区大小的2/3,则继续将音频缓存区已缓存的目标音频文件的文件内容依序写入播放缓存区,暂时不需要继续从所述目标服务器下载所述目标音频文件的剩余文件内容至所述音频缓存区。
又例如,在本申请的一优选实施例中,若处于2G、3G等网速较慢的网络中时,可以将所述预设内存阈值设定为所述音频缓存区大小的1/3,实时对所述音频缓存区的剩余内存大小进行判断,若所述剩余内存大小达到所述预设缓存区大小的1/3,则继续采用断点续传的方式,从目标服务器分段下载目标音频文件的剩余文件内容至所述音频缓存区,直至所述音频缓存区已满或已下载完所述目标音频文件,从而避免了音频缓存区已缓存的文件内容全部写入至播放缓存区后,导致无法及时下载音频文件而出现播放卡顿或播放质量不佳等问题,以确保音频播放器的流畅播放;若所述剩余内存大小未达到所述预设缓存区大小的1/3,则继续将音频缓存区已缓存的目标音频文件的文件内容依序写入播放缓存区,暂时不需要继续从所述目标服务器下载所述目标音频文件的剩余文件内容至所述音频缓存区。
接着本申请的上述实施例,其中,所述方法还包括:
监测从服务器分段下载所述目标音频文件的下载速率;
判断所述下载速率是否小于预设下载速率阈值,在此,所述预设下载速率阈值可以根据网络的不同状况进行设置,如果处于高速网络下,可以将预设下载速率阈值设置的相对大一些,如果处于低速网络下,客户以将预设下载速率阈值设置的相对小一些。
若是,则向存储有所述目标音频文件的服务器发送网络连接请求。
如图3所示,在播放设备缓存且播放的过程中,还需要监测从服务器分段下载所述目标音频文件的下载速率;在此,对所述下载速率进行监测,包括但不限于实时监测、定时及周期性监测等,其中,若采用定时监测,在本申请的一优选实施例中,通过代码等方式实现所述播放设备的网络监测功能,然后通过RTOS本身的定时器机制实现定时触发功能,设定一个定时器,定时触发所述播放设备的网络监测功能,以便能够定时监测从服务器分段下载所述目标音频文件的所述下载速率。
如图3所示,在监测到分段下载所述目标音频文件的下载速率后,判断所述下载速率是否小于预设下载速率阈值,
若是,则向存储有所述目标音频文件的服务器发送网络连接请求,若否,则不干扰播放设备的缓存和播放,以待下次进行目标音频文件的下载速率进行监测。
在此,所述下载速率包括但不限于用所述播放设备从服务器接收数据的速度、流量以及时延等来进行表示,即在单位时间(通常是1秒内,但在本申请中不做限制)从服务器传输到播放设备的字节数量;启动网络监测功能后,监控在单位时间从服务器传输到播放设备的字节数量,如果连续N秒(为了能够及时判断所述下载速率,N取值尽量低于10秒,但在本申请中不做限制),下载速率都低于所述预设下载速率阈值,可以认为播放设备与当前服务器的连接存在问题,可以主动重新连接存储有所述目标音频文件的服务器,其中,所述存储有所述目标音频文件的服务器可以是当前连接的服务器,也可以是其他存储有所述目标音频文件的服务器,以避免重新连接同一个服务器后速度依然无法恢复的情况,从而使得播放设备与服务器恢复正常的连接状态,从而保障数据的下载速率;若所述播放设备已经多次与服务器进行重新连接,即当前所述播放设备与服务器的连接频率过高,则说明当前的网络状况不稳定,则可以对所述定时器的时间间隔进行调整,适当缩短间隔时间,从而使得对网络的监测更为准确。
例如,在本申请的一优选实施例中,若预设下载速率阈值为100KB/s,启动网络监控功能,检测每秒内从服务器传输到播放设备的字节数量,若连续5s,速率都低于100KB/s,可以认为此时播放设备与当前服务器的连接存在问题,因此所述播放设备需要主动与当前服务器重新连接,或者与存储有所述目标音频文件的其他服务器重新连接,使得播放设备与服务器恢复正常的连接状态,从而保障数据的下载速率。
接着本申请的上述实施例,其中,所述向存储有所述目标音频文件的服务器发送网络连接请求,包括:
向所述目标服务器发送所述网络连接请求。
例如,当下载速率小于预设下载阈值时,所述播放设备可以重新向当前的目标服务器发送网络连接请求,以恢复所述播放设备与所述目标服务器的正常连接状态,保障所述播放设备与所述目标服务器之间的数据传输速率。
接着本申请的上述实施例,其中,所述向存储有所述目标音频文件的服务器发送网络连接请求,包括:
向所述播放设备中缓存过的、多个历史服务器中的一目标历史服务器,发送所述网络连接请求。在此,在重新发送网络连接请求时,如果之前已缓存过多个服务器的IP地址,也可以在之前缓存的多个服务器的IP地址中,重新选择一个进行连接,可以避免每次连接都进行域名解析,从而加快播放设备从服务器获取数据的速度,以提升音频文件的文件内容获取的流畅性和用户体验。
例如,当下载速率小于预设下载阈值时,若之前已缓存过多个服务器的IP地址,所述播放设备可以从之前已缓存过多个服务器的IP地址中重新挑选一个发送网络连接请求,从而避免重连同一个服务器后下载速率依然无法恢复的情况。
根据本申请的另一方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述一种在线音频播放方法。
根据本申请的另一方面,还提供了一种在线音频播放设备,其中,所述设备包括:
一个或多个处理器;
非易失性存储介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述一种在线音频播放方法。
在此,所述一种在线音频播放设备中的各实施例的详细内容,具体可参见上述一种在线音频播放方法的实施例的对应部分,在此,不再赘述。
综上所述,本申请在播放设备已有的可执行内存中建立一音频缓存区,所述播放设备还包括音频播放器及其对应的播放缓存区;采用断点续传的方式,从目标服务器分段下载目标音频文件至所述音频缓存区,并在所述音频缓存区已满时,将所述音频缓存区内已下载的目标音频文件的文件内容,按照所述断点续传的方式进行的分段顺序写入播放缓存区;通过所述音频播放器按序播放所述播放缓存区的所述文件内容,实现了低硬件配置的播放设备在不用下载或保存完整的音频文件的情况下,能够在线播放丰富的音频资源。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (9)
1.一种在线音频播放方法,应用于播放设备端,其中,
所述方法包括:
在播放设备已有的可执行内存中建立一音频缓存区,并通过环形队列的管理方式控制所述音频缓存区中数据的增加和淘汰,所述播放设备还包括音频播放器及其对应的播放缓存区;
采用断点续传的方式,从目标服务器分段下载目标音频文件至所述音频缓存区,并在所述音频缓存区已满时,将所述音频缓存区内已下载的目标音频文件的文件内容,按照所述断点续传的方式进行的分段顺序写入播放缓存区;
通过所述音频播放器按序播放所述播放缓存区的所述文件内容。
2.根据权利要求1所述的方法,其中,
所述在播放设备已有的可执行内存中建立一音频缓存区之前,还包括:
获取所述播放设备可支持的最高播放码率;
根据所述最高播放码率,确定所述音频缓存区的第一预设缓存长度;
其中,所述在播放设备已有的可执行内存中建立一音频缓存区,包括:
在所述播放设备已有的可执行内存中,对应创建所述第一预设缓存长度的音频缓存区。
3.根据权利要求1所述的方法,其中,
所述在播放设备已有的可执行内存中建立一音频缓存区之前,还包括:
获取所有音频文件中的每个音频文件的播放码率;
根据每个所述音频文件的播放码率,确定所述播放码率的不同播放级别;
确定不同播放级别对应的音频缓存区的不同第二预设缓存长度;
其中,所述在播放设备已有的可执行内存中建立一音频缓存区,包括:
获取所述目标音频文件的目标播放码率;
确定所述目标播放码率所属的目标播放级别;
在所述播放设备已有的可执行内存中,对应创建与所述目标播放级别对应的目标第二预设缓存长度的音频缓存区。
4.根据权利要求1至3中任一项所述的方法,其中,
所述在所述音频缓存区已满时,将所述音频缓存区内已下载的目标音频文件的文件内容,按照所述断点续传的方式进行的分段顺序写入播放缓存区之后,所述方法还包括:
实时判断所述音频缓存区的剩余内存是否达到预设内存阈值,
若是,则继续采用断点续传的方式,从所述目标服务器分段下载所述目标音频文件的剩余文件内容至所述音频缓存区,直至所述音频缓存区已满或已下载完所述目标音频文件。
5.根据权利要求1至3中任一项所述的方法,其中,
所述方法还包括:
监测从服务器分段下载所述目标音频文件的下载速率;
判断所述下载速率是否小于预设下载速率阈值,
若是,则向存储有所述目标音频文件的服务器发送网络连接请求。
6.根据权利要求5所述的方法,其中,
所述向存储有所述目标音频文件的服务器发送网络连接请求,包括:
向所述目标服务器发送所述网络连接请求。
7.根据权利要求5所述的方法,其中,
所述向存储有所述目标音频文件的服务器发送网络连接请求,包括:
向所述播放设备中缓存过的、多个历史服务器中的一目标历史服务器,发送所述网络连接请求。
8.一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如权利要求1至7中任一项所述的方法。
9.一种基于低硬件配置的在线音频播放设备,其中,
所述设备包括:
一个或多个处理器;
非易失性存储介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110475963.7A CN113315810B (zh) | 2021-04-29 | 2021-04-29 | 一种在线音频播放方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110475963.7A CN113315810B (zh) | 2021-04-29 | 2021-04-29 | 一种在线音频播放方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113315810A CN113315810A (zh) | 2021-08-27 |
CN113315810B true CN113315810B (zh) | 2023-04-07 |
Family
ID=77371790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110475963.7A Active CN113315810B (zh) | 2021-04-29 | 2021-04-29 | 一种在线音频播放方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113315810B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114727128B (zh) * | 2022-03-30 | 2024-04-12 | 恒玄科技(上海)股份有限公司 | 播放终端的数据传输方法、装置、播放终端及存储介质 |
CN115359810A (zh) * | 2022-08-11 | 2022-11-18 | 维沃移动通信有限公司 | 数据处理方法、设备及可读存储介质 |
CN116996810A (zh) * | 2023-07-31 | 2023-11-03 | 广州星际悦动股份有限公司 | 口腔护理设备的音频处理方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110958298A (zh) * | 2019-10-30 | 2020-04-03 | 成都法兰特科技有限公司 | 无线音频播放设备及其无线互联网音频播放方法 |
CN111222004A (zh) * | 2020-01-08 | 2020-06-02 | 广州小鹏汽车科技有限公司 | 一种音频播放方法、终端设备及车辆 |
WO2020155959A1 (zh) * | 2019-01-30 | 2020-08-06 | 上海哔哩哔哩科技有限公司 | 切换清晰度的方法、装置、计算机设备及可读存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8285809B2 (en) * | 2005-12-13 | 2012-10-09 | Audio Pod Inc. | Segmentation and transmission of audio streams |
CN101695131A (zh) * | 2009-10-16 | 2010-04-14 | 深圳市五巨科技有限公司 | 一种移动终端播放在线音视频的方法和装置 |
CA2843438A1 (en) * | 2012-07-30 | 2013-03-21 | Reza Rassool | System and method for providing audio for a requested note using a render cache |
CN108156524A (zh) * | 2017-12-29 | 2018-06-12 | 北京奇宝科技有限公司 | 多媒体资源的播放控制方法、装置和计算机可读存储介质 |
CN108965984A (zh) * | 2018-08-27 | 2018-12-07 | 优视科技新加坡有限公司 | 一种文件传输与播放的方法、装置和设备/终端/服务器 |
CN112449250B (zh) * | 2019-08-27 | 2022-08-23 | 腾讯科技(深圳)有限公司 | 一种视频资源的下载方法、装置、设备和介质 |
CN112565906A (zh) * | 2020-11-05 | 2021-03-26 | 深圳市麦谷科技有限公司 | 一种在线视频的点播处理方法及*** |
-
2021
- 2021-04-29 CN CN202110475963.7A patent/CN113315810B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020155959A1 (zh) * | 2019-01-30 | 2020-08-06 | 上海哔哩哔哩科技有限公司 | 切换清晰度的方法、装置、计算机设备及可读存储介质 |
CN110958298A (zh) * | 2019-10-30 | 2020-04-03 | 成都法兰特科技有限公司 | 无线音频播放设备及其无线互联网音频播放方法 |
CN111222004A (zh) * | 2020-01-08 | 2020-06-02 | 广州小鹏汽车科技有限公司 | 一种音频播放方法、终端设备及车辆 |
Also Published As
Publication number | Publication date |
---|---|
CN113315810A (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113315810B (zh) | 一种在线音频播放方法及设备 | |
US20230188578A1 (en) | Data transmission method and apparatus | |
US10271072B2 (en) | Video preloading method and apparatus | |
CN110807128B (zh) | 视频的预加载方法、装置、设备和存储介质 | |
US10666522B2 (en) | Server side content delivery network quality of service | |
CN109600437B (zh) | 一种流媒体资源的下载方法及缓存服务器 | |
US7739715B2 (en) | Variable play speed control for media streams | |
US11527264B2 (en) | Systems and methods for adaptive streaming of multimedia content | |
WO2021159770A1 (zh) | 视频播放方法、装置、设备和存储介质 | |
CN110022482B (zh) | 视频起播方法、视频服务***及存储介质 | |
WO2011150657A1 (zh) | 流媒体中播放时间点跳转后的处理方法及装置 | |
CN112333476B (zh) | 一种视频加载方法及装置 | |
MXPA04006412A (es) | Almacenamiento disperso en memoria inmediata para medios de grabacion continua. | |
CN112839238B (zh) | 投屏播放方法、装置和存储介质 | |
CN104219286A (zh) | 流媒体处理方法、装置、客户端、cdn节点服务器及终端 | |
CN102918594A (zh) | 用于自适应流播放器的高速缓存控制 | |
US20140331266A1 (en) | Caching of content | |
CN111083536A (zh) | 调节视频码率的方法和装置 | |
CN110290396B (zh) | 一种视频处理的方法、装置、***、设备和存储介质 | |
EP3247124A1 (en) | Client, streaming media data receiving method and streaming media data transmission system | |
WO2020155956A1 (zh) | 首帧均衡限流方法、装置、计算机设备及可读存储介质 | |
JP7162019B2 (ja) | データストリーミング方法、データストリーミング装置、及びコンピュータプログラム | |
US20230388590A1 (en) | Playback optimization method and system | |
KR20060012301A (ko) | 공급자를 선택하기 위한 방법, 시스템 및 컴퓨터 사용가능미디어 | |
CN113709032A (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 |