CN115359810A - 数据处理方法、设备及可读存储介质 - Google Patents
数据处理方法、设备及可读存储介质 Download PDFInfo
- Publication number
- CN115359810A CN115359810A CN202210964122.7A CN202210964122A CN115359810A CN 115359810 A CN115359810 A CN 115359810A CN 202210964122 A CN202210964122 A CN 202210964122A CN 115359810 A CN115359810 A CN 115359810A
- Authority
- CN
- China
- Prior art keywords
- data
- memory space
- audio
- audio data
- memory
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 claims description 32
- 230000000903 blocking effect Effects 0.000 claims description 20
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- 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
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/10537—Audio or video recording
- G11B2020/10546—Audio or video recording specifically adapted for audio data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据处理方法、设备及可读存储介质,属于音频播放技术领域,其包括:接收音频数据,并将音频数据写入存储器以及内存空间,存储器的存储空间大于内存空间;在音频文件未完全下载至存储器的情况下,从内存空间中读取音频数据并进行播放,音频文件包括多个音频数据;在音频文件完全下载至存储器的情况下,根据已播放的音频数据的数据量,从存储器中读取音频文件中未播放的音频数据进行播放。
Description
技术领域
本申请实施例涉及音频播放技术领域,尤其涉及一种数据处理方法、设备及可读存储介质。
背景技术
随着集成电路技术的发展,小型智能终端所能承载的功能越来越多,人们开始追求在小型智能终端上播放音频数据。但由于小型智能终端所集成的内存资源相对有限,在小型智能终端上实现流畅的音频数据播放功能较为困难。
在现有技术中,小型智能终端通过实时操作***获取第三方服务器下发的音频数据。由于小型智能终端的内存空间较小,其不能完全存储音频数据,因此实时操作***会将接收到的音频数据下载至存储器内,直到音频数据下载完成后再进行播放。因此现有的小型智能终端不支持音频数据的边下载边播放功能,这造成了音频数据的延迟播放,影响音频数据的播放效率。
发明内容
本申请实施例提供一种数据处理方法、设备及可读存储介质,通过缓存机制实现音频数据的边播放边下载功能,提高音频数据的播放效率,解决了现有小型智能终端延迟播放音频数据的问题。
第一方面,本申请实施例提供了一种数据处理方法,包括:
接收音频数据,并将所述音频数据写入存储器以及内存空间,所述存储器的存储空间大于所述内存空间;
在音频文件未完全下载至所述存储器的情况下,从所述内存空间中读取所述音频数据并进行播放,所述音频文件包括多个所述音频数据;
在所述音频文件完全下载至所述存储器的情况下,根据已播放的音频数据的数据量,从所述存储器中读取所述音频文件中未播放的音频数据进行播放。
第二方面,本申请实施例提供了一种数据处理装置,包括:
数据写入模块,用于接收音频数据,并将所述音频数据写入存储器以及内存空间,所述存储器的存储空间大于所述内存空间;
缓存数据读取模块,用于在音频文件未完全下载至所述存储器的情况下,从所述内存空间中读取所述音频数据并进行播放,所述音频文件包括多个所述音频数据;
下载数据读取模块,用于在所述音频文件完全下载至所述存储器的情况下,根据已播放的音频数据的数据量,从所述存储器中读取所述音频文件中未播放的音频数据进行播放。
第三方面,本申请实施例提供了一种电子设备,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的数据处理方法。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的数据处理方法。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的数据处理方法。
在本申请实施例中,当接收到音频文件的音频数据时,将音频文件的所有音频数据存储于存储器中,与此同时,基于缓存机制将音频文件的前部分音频数据暂存于内存空间。当内存空间的存满时,从内存空间读取音频文件的前部分音频数据以供给音频模组进行播放。由于存储器的存储空间大于内存空间,当内存空间存满音频文件的前部分音频数据时,存储器还在继续存储音频文件的后部分音频数据,直至整个音频文件存储至存储器内。因此音频模组播放音频数据的同时,音频文件正在下载至存储器中,实现了音频数据的边下载边播放,无需等到音频文件完全下载至存储器后再播放音频文件,避免音频文件的延迟播放,提高了音频数据的播放效率。在音频文件下载完成后,控制音频模组根据已经播放的音频数据的数据量,从存储器读取音频文件的后部分音频数据进行播放,实现对音频文件的流畅播放。
附图说明
图1是本申请一个实施例提供的一种数据处理方法的流程示意图;
图2是本申请实施例提供的嵌入式设备的结构示意图;
图3是本申请实施例提供的网络数据接收任务的工作流程图;
图4是本申请实施例提供的将网络接收队列或存储器中的音频数据写入内存空间的流程图;
图5是本申请实施例提供的将网络接收队列中的音频数据写入内存空间的流程图;
图6是本申请实施例提供的将存储器中的音频数据写入内存空间的流程图;
图7是本申请实施例提供的音频播放任务的工作流程图;
图8是本申请一个实施例提供的一种数据处理装置的结构示意图;
图9是本申请一个实施例提供的一种电子设备的结构示意图;
图10是本申请一个实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的数据处理方法进行详细地说明。
图1是本申请一个实施例提供的一种数据处理方法的流程示意图。参考图1,该数据处理方法,包括:
S110、接收音频数据,并将音频数据写入存储器以及内存空间,存储器的存储空间大于内存空间。
在本实施例中,数据处理方法的执行主体为小型智能终端,小型智能终端运行实时操作***且微控制器的片内存储资源有限,例如小型智能终端可以是嵌入式设备,该嵌入式设备可以是智能手表之类的穿戴式设备,也可以是智能手写笔之类便携式设备。
本实施例以小型智能终端为嵌入式设备为例进行描述。图2是本申请实施例提供的嵌入式设备的结构示意图。如图2所示,嵌入式设备包括微控制器和音频模组,微控制器包括内存空间和存储器。其中,音频模组用于获取内存空间和存储器中的音频数据并进行播放,微控制器用于将音频文件的前部分音频数据缓存于内存空间,以及将音频文件的所有音频数据下载至存储器。示例性的,嵌入式设备向服务端发送音频文件播放请求,服务端接收到音频文件播放请求后,向嵌入式设备下发对应的音频文件。其中,服务端可以是提供音频播放的应用服务的计算机或是提供其他应用服务的第三方服务器。音频文件按照时间戳顺序可以分成多个音频数据,服务端按照时间戳顺序依次将音频文件的每一音频数据下发至嵌入式设备,使得嵌入式设备按照时间戳顺序依次接收到服务端下发的音频数据。微控制器按照接收顺序依次将每一音频数据写入存储器中,使得存储器中的音频数据按照时间戳顺序存储,避免存储错误。当音频文件的所有音频数据均存储至存储器时,完成音频文件下载至存储器。微控制器将音频数据写入存储器的同时,也会按照接收顺序将音频数据缓存至内存空间,直至内存空间填满。因此写入内存空间的音频数据即为音频文件中前部分的音频数据,保证了后续音频模组从内存空间和存储器中获取音频数据进行播放时,按照音频文件的时间戳顺序进行音频数据播放,保证音频文件的播放准确性。
由于音频模组的数据处理速度较快,如果内存空间的存储数据量较小,那么内存空间内的音频数据会快速被读取并播放完毕。此时若音频文件还需要较长的时间才能完成下载,则需要等待较长的时间才能继续播放剩余的音频数据,导致音频数据的播放效果较差。因此在本实施例中,内存空间的大小至少为音频模组的单位处理数据量的16倍。例如,音频模组一次读取音频数据的数据量为2K,则内存空间的大小至少为32K。在该实施例中,如果微控制器的片内存储芯片的连续可用空间的大小大于音频模组的单位处理数据量的16倍,则可以将片内存储芯片中的连续可用区域作为内存空间。在另一实施例中,在片内存储芯片的内存资源有限的情况下,嵌入式设备可以安装片外扩展存储芯片,将片外扩展存储芯片的连续可用区域作为内存空间,以通过片外扩展存储芯片运行缓存机制。
在一实施例中,在微控制器的软件程序上设计了音频播放任务和网络数据接收任务。其中,网络数据接收任务负责接收服务端下发的音频数据并将音频数据写入存储器和内存空间,并在内存空间存满或音频文件完全下载至存储器时通知音频播放任务执行相应操作;音频播放任务负责在接收到通知后,从内存空间读取音频数据并供给音频模组进行播放以及控制音频模组从存储器读取音频数据并进行播放。
在该实施例中,参考图2,网络数据接收任务可通过网络接收队列接收服务端下发的音频数据,并将网络接收队列中的每一音频数据写入存储器中,以及将网络接收队列或存储器中的音频数据写入内存空间。音频播放任务从内存空间读取音频数据并传输至音频模组以控制音频模组对该音频数据进行播放处理,以及控制音频模组从存储器读取音频数据并进行播放处理。
为确保内存空间中的音频数据被正确和有序地读取和写入,自网络数据接收任务接收到服务端下发的音频数据开始,音频播放任务和网络数据接收任务遵循先到先得的抢占式数据读写规则来获取内存空间的访问权限,且同一时刻仅允许一个任务获取内存空间的访问权限。示例性的,若音频播放任务想要从内存空间读取音频数据,则要在取得内存空间的访问权限后才能从内存空间读取音频数据。音频播放任务取得访问权限的同时,网络数据接收任务阻塞对内存空间的访问权限直到音频播放任务释放访问权限。同样的,网络数据接收任务想要将音频数据写入内存空间,也要在取得内存空间的访问权限后才能将音频数据写入内存空间。
需要说明,网络数据接收任务刚开始执行时,由于内存空间还未写入音频数据,音频播放任务取得访问权限也不能读取到音频数据进行播放。因此音频播放任务一开始不参与到访问权限的抢占中,而在接收到网络数据接收任务的通知后参与到访问权限的抢占中。
在该实施例中,图3是本申请实施例提供的网络数据接收任务的工作流程图。如图3所示,网络数据接收任务的工作流程具体包括S1101-S1104:
S1101、通过网络接收队列接收音频数据,将网络接收队列中的音频数据写入存储器,并将写入存储器的音频数据的数据量累加到存储器已下载的音频数据的第一数据量中。
示例性的,微控制器运行网络数据接收任务时,接收服务端下发的数据,并对接收到的数据进行数据检查,如果接收到的数据不属于音频文件类型则视为数据接收错误,并继续接收下一数据。如果接收到的数据属于音频文件类型,则确定接收到音频数据,将该音频数据存入网络接收队列中。然后从网络接收队列中读取一批音频数据,并将该批音频数据依次写入存储器中。本实施例利用网络接收队列显线性处理网络数据流的特点,将单位时间内陆续接收到的音频数据快速写入存储器。
从网络接收队列读取的一批音频数据的数据量大小取决于网络数据接收任务在单位时间内可处理的数据量大小。在将该批音频数据写入存储器中后,将该批音频数据的数据量累加到存储器已下载的音频数据的第一数据量,以更新存储器的第一数据量。在从网络接收队列读取到的音频数据的数据量等于零的情况下,可确定服务端下发的音频文件的所有音频数据已全部存入存储器。为确定存储器中的音频文件是否完整,可将存储器的第一数据量与音频文件的数据量进行比较。若第一数据量等于音频文件的数据量,则可确定音频文件完全下载至存储器,若第一数据量不等于音频文件的数据量,则可确定音频文件下载异常。
在该实施例中,在音频文件完全下载至存储器后,微控制器结束网络数据接收任务的运行以停止向内存空间写入音频数据,以及通知音频播放任务,网络数据接收任务已结束。音频播放任务接收到网络数据接收任务结束的通知后,控制音频模组从存储器中读取音频数据播放。此时内存空间不再参与音频播放任务和网络数据接收任务,以节省嵌入式设备的功耗,延长嵌入式设备的续航。
S1102、判断内存空间的音频数据是否达到预设存储阈值。
其中,预设存储阈值是指内存空间的最大存储数据量。当内存空间中的音频数据的数据量达到预设存储阈值时,则表明内存空间已存满音频数据;当内存空间中的音频数据的数据量未达到预设存储阈值时,则表明内存空间还未存满音频数据。内存空间只有在未存满的情况下,才能继续写入音频数据,因此在将音频数据写入音频数据之前,需先判断内存空间是否存满。
S1103、在内存空间的音频数据未达到预设存储阈值的情况下,基于预设的抢占式数据读写规则,获取内存空间的写入访问权限,将网络接收队列或存储器中的音频数据写入内存空间。
示例性的,确定内存空间未存满时,将存储器的第一数据量和内存空间已写入的音频数据的第二数据量进行比较。如果第一数据量等于第二数据量则重新从网络接收队列读取音频数据;如果第一数据量大于第二数据量,则网络数据接收任务抢占内存空间的访问权限。可理解,网络接收队列中的音频数据会优先存入存储器再写入内存空间,即存储器的第一数据量一般会大于内存空间的第二数据量,如果两者相等则表明在存储器的数据写入环节出错。
进一步的,网络数据接收任务抢占内存空间的访问权限时,如果抢占成功则取得内存空间的访问权限;如果抢占失败则阻塞等待,直到内存空间的访问权限被释放后,再重新抢占。网络数据接收任务取得内存空间的访问权限后,则将网络接收队列或存储器中的音频数据写入内存空间。可理解,当网络数据接收任务阻塞等待的过程中,还会继续从网络接收队列读取音频数据并存入存储器。由于网络接收队列的存储空间有限,当新的音频数据到来时会将网络接收队列中最早存入的音频数据删除。如果在阻塞等待的过程中,网络接收队列接收到新的音频数据,并将最早存入的音频数据删除,若该最早存入的音频数据还未写入内存空间,则可从存储器中获取该最早存入的音频数据,保证音频数据有序写入内存空间。
在该实施例中,图4是本申请实施例提供的将网络接收队列或存储器中的音频数据写入内存空间的流程图。如图4所示,该将网络接收队列或存储器中的音频数据继续写入内存空间的步骤具体包括S11031-S11033:
S11031、确定第一数据量与内存空间已写入的音频数据的第二数据量的差值。
示例性的,网络接收队列中的数据会快速写入到存储器中,因此第一数据量相当于网络接收队列已接收到的音频数据的总数据量,第二数据量是内存空间已写入的音频数据的音频数据的总数据量。需要说明,如果在此之前音频播放任务已从内存空间中读取到音频数据,则第二数据量是音频播放任务读取到的音频数据的数据量与内存空间存储的音频数据的数据量的总和。一般情况下,网络接收队列中的音频数据会先存入存储器再写入内存空间,第一数据量恒大于第二数据量。
S11032、在差值小于或等于单位时间内网络接收队列已接收到的音频数据的第三数据量的情况下,将网络接收队列中的音频数据写入内存空间。
其中,第三数据量是指网络接收队列单位时间内已接收到的音频数据的总数据量。示例性的,当第一数据量与第二数据量的差值小于等于第三数据量时,表明网络接收队列删除的音频数据已全部写入内存空间,也即表明网络接收队列中的音频数据与内存空间中最新写入的音频数据的时间戳相邻。因此从网络接收队列中读取音频数据,将该音频数据写入内存空间,以使内存空间内的音频数据按照音频文件的时间戳顺序进行排序,避免了内存空间内的音频数据存储错误。
在该实施例中,图5是本申请实施例提供的将网络接收队列中的音频数据写入内存空间的流程图。如图5所示,该将网络接收队列中的音频数据写入内存空间的步骤具体包括S110321-S110324:
S110321、根据所述预设存储阈值,确定所述内存空间的可用存储数据量。
S110322、将第三数据量和可用存储数据量进行比较,确定最小值为目标数据量。
S110323、将网络接收队列中目标数据量大小的音频数据写入内存空间。
S110324、将写入内存空间的音频数据的数据量累加至第二数据量中,释放内存空间的写入访问权限。
其中,可用存储数据量是指内存空间当前还可存储的音频数据的数据量。将预设存储阈值与内存空间当前存储的音频数据的数据量做差,得到内存空间的可用存储数据量。目标数据量即为当前写入内存空间的音频数据的数据量。示例性的,当可用存储数据量大于第三数据量时,则表明内存空间至少可以存放第三数据量大小的音频数据,因此从网络接收队列中获取第三数据量大小的音频数据并写入内存空间。相反的,当可用存储数据量小于第三数据量时,则表明内存空间不足以存放第三数据量大小的音频数据,因此从网络接收队列中获取可用存储数据量大小的音频数据并写入内存空间,以刚好存满内存空间。
将目标数据量累加到内存空间已写入的音频数据的第二数据量,以更新内存空间的第一数据量。网络数据接收任务释放内存空间的访问权限,以使音频播放任务可以抢占内存空间的访问权限。
S11033、在差值大于第三数据量的情况下,将存储器中的音频数据写入内存空间。
示例性的,当第一数据量与第二数据量的差值大于第三数据量时,表明网络接收队列删除的音频数据未全部写入内存空间,也即表明网络接收队列中的音频数据与内存空间中最新写入的音频数据的时间戳不相邻。如果继续将当前网络接收队列中的音频数据写入内存空间,则会使得内存空间的音频数据不按照音频文件的时间戳顺序进行排序,导致内存空间内的音频数据存储错误。因此本实施例从存储器中获取到与内存空间中最新写入的音频数据的时间戳相邻的音频数据,并将该音频数据存入内存空间。
在该实施例中,图6是本申请实施例提供的将存储器中的音频数据写入内存空间的流程图。如图6所示,该将存储器中的音频数据写入内存空间的步骤具体包括S110331-S110332:
S110331、根据第二数据量从存储器中获取与目标数据量大小相同的音频数据,将音频数据写入内存空间。
S110332、将写入内存空间的音频数据的数据量累加至第二数据量中,释放内存空间的写入访问权限。
由上述内容可知,目标数据量为第三数据量和内存空间的可用存储数据量中的最小值。示例性的,将第二数据量作为存储器的地址偏移量,并根据地址偏移量确定内存空间最新写入的音频数据在存储器中的存储位置。由于音频数据按照音频文件的时间戳顺序连续存放在存储器中,根据该存储位置即可确定存储器中与内存空间最新写入的音频数据的时间戳相邻的音频数据的存储位置,进而从存储器中获取到与内存空间最新写入的音频数据的时间戳相邻的音频数据。然后将目标数据量累加到内存空间已写入的音频数据的第二数据量,以更新内存空间的第一数据量。网络数据接收任务释放内存空间的访问权限,以使音频播放任务可以抢占内存空间的访问权限。
在一实施例中,在将音频数据写入内存空间后,判断音频播放任务是否处于特殊阻塞等待状态以及判断内存空间中的音频数据是否达到预设存储阈值。其中,特殊阻塞等待状态是当音频播放任务确定内存空间中的音频数据不足以供音频模组播放处理时,音频播放任务阻塞等待访问权限的状态。音频播放任务在确定内存空间中的音频数据不足以供音频模组播放处理时,将状态标志位置为特殊阻塞等待状态。网络数据接收任务根据状态标志位确定音频播放任务处于特殊阻塞等待状态以及确定内存空间中的音频数据达到预设存储阈值时,通知音频播放任务,内存空间已被存满。音频播放任务接收到通知后,脱离特殊阻塞等待状态以抢占内存空间的访问权限。如果音频播放任务未处于特殊阻塞等待状态,则音频播放任务可在网络数据接收任务释放权限后抢占内存空间的访问权限,无需网络数据接收任务的通知。
S1104、在内存空间的音频数据达到预设存储阈值的情况下,确定最新读取内存空间的音频数据的时间戳与当前时间戳的时间差,在时间差大于预设时间阈值的情况下,确定音频文件播放异常。
其中,预设时间阈值是指内存空间存满后音频播放任务取得内存空间的访问权限的最大时长。示例性的,内存空间存满后音频播放任务会快速取得内存空间的访问权限,然后从内存空间中读取音频数据并供给音频模组播放处理。如果音频播放任务从内存空间读取到音频数据的时间戳与当前时间戳的时间差大于预设时间阈值,则表明音频播放任务在内存空间存有数据的情况下并不能正常读取到内存空间的数据,进而确认音频播放任务异常,停止音频播放任务。
S120、在音频文件未完全下载至存储器的情况下,从内存空间中读取音频数据并进行播放,音频文件包括多个音频数据;在音频文件完全下载至存储器的情况下,根据已播放的音频数据的数据量,从存储器中读取音频文件中未播放的音频数据进行播放。
示例性的,音频播放任务在第一次接收到网络数据接收任务发送的内存空间存满的通知后开始执行。在音频文件未完全下载至存储器之前,音频播放任务抢占内存空间的访问权限以从内存空间读取音频数据,并供给音频模组播放。在音频文件未完全下载至存储器之后,音频播放任务控制音频模组从存储器读取音频数据进行播放处理。
图7是本申请实施例提供的音频播放任务的工作流程图。如图7所示,音频播放任务的工作流程包括S1201-S1209:
S1201、获取内存空间中的音频数据的数据量。
S1202、判断内存空间中的音频数据的数据量是否大于或等于预设数据量;在内存空间中的音频数据的数据量大于或等于预设数据量的情况下,执行步骤S1203;在内存空间中的音频数据的数据量大于或等于预设数据量的情况下,执行步骤S1207。
其中,预设数据量为音频模组一次处理音频数据的数据量,一般为2K。示例性的,音频播放任务每次从内存空间读取预设数据量的音频数据供给音频模组播放处理,如果内存空间中的音频数据的数据量小于预设数据量,表明内存空间中的音频数据不足以供音频模组播放处理;如果内存空间中的音频数据的数据量大于预设数据量,表明内存空间中的音频数据足以供音频模组播放处理。
S1203、基于预设的抢占式数据读写规则,获取内存空间的读取访问权限。
示例性的,在内存空间中的音频数据足以供音频模组播放处理的情况下,音频播放任务抢占内存空间的访问权限。如果抢占成功则取得内存空间的访问权限,如果抢占失败则阻塞等待,直到内存空间的访问权限被释放后,再重新抢占。音频播放任务取得内存空间的访问权限后,可从内存空间读取音频数据并供给音频模组播放处理。
S1204、判断音频文件是否完全下载至存储器;在音频文件完全下载至存储器的情况下,执行步骤S1205;在音频文件未完全下载至存储器的情况下,执行步骤S1206。
示例性的,当音频文件完全下载存储器后,网络数据接收任务会通知音频播放任务,网络数据接收任务已结束执行。音频播放任务接收到该通知时可确定音频文件已完全下载至存储器,音频播放任务未接收到该通知时可确定音频文件未完全下载至存储器。
S1205、控制音频模组根据已播放的音频数据的数据量从存储器中读取音频文件中未播放的音频数据并进行播放,并释放内存空间的读取访问权限。
示例性的,在确定音频文件已完全下载至存储器后,音频播放任务控制音频模组从存储器中读取预设数据量大小的音频数据进行播放处理。为了保证音频文件的正确播放,将已播放的音频数据的数据量作为存储器的地址偏移量,以从存储器中获取到音频文件的后半部分未播放的音频数据。于此同时,音频播放任务不再从内存空间读取音频数据,因此可释放内存空间的访问权限。
S1206、从内存空间读取预设数据量大小的音频数据进行播放,并释放内存空间的读取访问权限。
示例性的,在确定音频文件未完全下载至存储器后,从内存空间读取预设数据量大小的音频数据并将该音频数据传输至音频模组,以使音频模组对该音频数据进行播放处理。将预设数据量累计到已播放的音频数据的数据量中,以便于后续从存储器读取音频数据可以定位到未播放的音频数据的存储位置。将内存空间中当前读取的音频数据删除,如果音频播放任务连续多次抢占到内存空间的音频数据,则内存空间会逐渐减少直至小于预设数据量。音频播放任务释放内存空间的访问权限,以使网络数据接收任务可以抢占内存空间的访问权限。记录当前时间戳作为最新读取内存空间的音频数据的时间戳,以便后续基于该时间戳校验音频播放是否正常。
S1207、阻塞等待内存空间的读取访问权限。
示例性的,在内存空间中的音频数据不足以供音频模组播放处理的情况下,音频播放任务阻塞等待内存空间的访问权限并将标志位置为特殊阻塞等待状态。在此之后,音频播放任务在确定内存空间存满或者音频文件完全下载至存储器,才能脱离特殊阻塞等待状态。当音频播放任务处于特殊阻塞等待状态时,不会与网络数据接收任务一同抢占内存空间的访问权限,网络数据接收任务可快速取得访问权限并将音频数据写入内存空间。
S1208、在内存空间中的音频数据达到预设存储阈值的情况下,基于预设的抢占式数据读写规则,获取内存空间的读取访问权限,从内存空间读取预设数据量大小的音频数据进行播放,并释放内存空间的读取访问权限。
示例性的,当音频播放任务处于特殊阻塞等待状态时,若接收到网络数据接收任务发送的内存空间存满的通知,则退出特殊阻塞等待状态以抢占内参空间的访问权限。在内存空间存满时,网络数据接收任务不抢占内参空间的访问权限,因此音频播放任务可快速取得内存空间的访问权限,并在取得访问权限后,从内存空间读取预设数据量大小的音频数据供给音频数据进行播放。将预设数据量累计到已播放的音频数据的数据量中,删除内存空间已读取的音频数据,并释放内存空间的访问权限。
S1209、在音频文件完全下载至存储器的情况下,控制音频模组根据已播放的音频数据的数据量从存储器中读取音频文件中未播放的音频数据并进行播放。
示例性的,当音频播放任务处于特殊阻塞等待状态时,若接收到网络数据接收任务发送的任务结束通知,则退出特殊阻塞等待状态并通知音频模组存储器中获取音频文件中未播放的音频数据。
综上,本实施例提供的数据处理方法,当接收到音频文件的音频数据时,将音频文件的所有音频数据存储于存储器中,与此同时,基于缓存机制将音频文件的前部分音频数据暂存于内存空间。当内存空间的存满时,从内存空间读取音频文件的前部分音频数据以供给音频模组进行播放。由于存储器的存储空间大于内存空间,当内存空间存满音频文件的前部分音频数据时,存储器还在继续存储音频文件的后部分音频数据,直至整个音频文件存储至存储器内。因此音频模组播放音频数据的同时,音频文件正在下载至存储器中,实现了音频数据的边下载边播放,无需等到音频文件完全下载至存储器后再播放音频文件,避免音频文件的延迟播放,提高了音频数据的播放效率。在音频文件下载完成后,控制音频模组根据已经播放的音频数据的数据量,从存储器读取音频文件的后部分音频数据进行播放,实现对音频文件的流畅播放。
需要说明的是,本申请实施例提供的数据处理方法,执行主体可以为数据处理装置,或者该数据处理装置中的用于执行数据处理方法的控制模块。本申请实施例中以数据处理装置执行数据处理方法为例,说明本申请实施例提供的数据处理装置。
图8是本申请一个实施例提供的一种数据处理装置的结构示意图。如图8所示,该数据处理装置包括:数据写入模块201、缓存数据读取模块202和下载数据读取模块203。
其中,数据写入模块,用于接收音频数据,并将音频数据写入存储器以及内存空间,存储器的存储空间大于内存空间;
缓存数据读取模块,用于在音频文件未完全下载至存储器的情况下,从内存空间中读取音频数据并进行播放,音频文件包括多个音频数据;
下载数据读取模块,用于在音频文件完全下载至存储器的情况下,根据已播放的音频数据的数据量,从存储器中读取音频文件中未播放的音频数据进行播放。
在上述实施例的基础上,缓存数据读取模块包括:
第一数据量获取子模块,在从内存空间中读取音频数据并进行播放之前,获取内存空间中的音频数据的数据量;
第一数据读取子模块,用于在内存空间中的音频数据的数据量大于或等于预设数据量的情况下,基于预设的抢占式数据读写规则,获取内存空间的读取访问权限,从内存空间读取预设数据量大小的音频数据进行播放;
读取权限阻塞子模块,用于在获取内存空间中的音频数据的数据量之后,在内存空间中的音频数据的数据量小于预设数据量的情况下,阻塞等待内存空间的读取访问权限。
在上述实施例的基础上,第一数据读取子模块,包括:
下载判断单元,用于在基于预设的抢占式数据读写规则,获取内存空间的读取访问权限之后,判断音频文件是否完全下载至存储器;
下载数据读取单元,用于在音频文件完全下载至存储器的情况下,控制音频模组根据已播放的音频数据的数据量从存储器中读取音频文件中未播放的音频数据并进行播放,并释放内存空间的读取访问权限;
缓存数据读取单元,用于在音频文件未完全下载至存储器的情况下,从内存空间读取预设数据量大小的音频数据并进行播放。
在上述实施例的基础上,缓存数据读取模块包括:
第二数据读取子模块,用于在阻塞等待内存空间的读取访问权限之后,在内存空间中的音频数据达到预设存储阈值的情况下,基于预设的抢占式数据读写规则,获取内存空间的读取访问权限,从内存空间读取预设数据量大小的音频数据进行播放。
在上述实施例的基础上,缓存数据读取模块包括:
第三数据读取子模块,在阻塞等待内存空间的读取访问权限之后,在音频文件完全下载至存储器的情况下,控制音频模组根据已播放的音频数据的数据量从存储器中读取音频文件中未播放的音频数据并进行播放。
在上述实施例的基础上,数据写入模块包括:
数据下载子模块,用于通过网络接收队列接收音频数据,将网络接收队列中的音频数据写入存储器,并将写入存储器的音频数据的数据量累加到存储器已下载的音频数据的第一数据量中;
缓存判断子模块,用于判断内存空间的音频数据是否达到预设存储阈值;
数据缓存子模块,用于在内存空间的音频数据未达到预设存储阈值的情况下,基于预设的抢占式数据读写规则,获取内存空间的写入访问权限,将网络接收队列或存储器中的音频数据写入内存空间。
在上述实施例的基础上,数据缓存子模块包括:
差值确定单元,用于确定第一数据量与内存空间已写入的音频数据的第二数据量的差值;
第一数据缓存单元,用于在差值小于或等于单位时间内网络接收队列已接收到的音频数据的第三数据量的情况下,将网络接收队列中的音频数据写入内存空间;
第二数据缓存单元,用于在差值大于第三数据量的情况下,将存储器中的音频数据写入内存空间。
在上述实施例的基础上,第一数据缓存单元包括:
可用存储量确定子单元,用于根据预设存储阈值,确定内存空间的可用存储数据量;
目标数据量确定子单元,用于将第三数据量和可用存储数据量进行比较,确定最小值为目标数据量;
第一数据缓存子单元,用于将网络接收队列中目标数据量大小的音频数据写入内存空间;
第一权限释放子单元,用于将当前写入内存空间的音频数据的数据量累加至第二数据量中,释放内存空间的写入访问权限。
在上述实施例的基础上,第二数据缓存单元,包括:
第二数据缓存子单元,用于根据第二数据量从存储器中获取与目标数据量大小相同的音频数据,将音频数据写入内存空间;
第二权限释放子单元,用于将写入内存空间的音频数据的数据量累加至第二数据量中,释放内存空间的写入访问权限;
其中,目标数据量为第三数据量和内存空间的可用存储数据量中的最小值。
在上述实施例的基础上,数据写入模块还包括:
时间差确定子模块,用于在判断内存空间中的音频数据是否达到预设存储阈值之后,在内存空间中的音频数据达到预设存储阈值的情况下,确定最新读取内存空间的音频数据的时间戳与当前时间戳的时间差;
播放异常确定子模块,用于在时间差大于预设时间阈值的情况下,确定音频文件播放异常。
综上,本实施例提供的数据处理装置,当接收到音频文件的音频数据时,将音频文件的所有音频数据存储于存储器中,与此同时,基于缓存机制将音频文件的前部分音频数据暂存于内存空间。当内存空间的存满时,从内存空间读取音频文件的前部分音频数据以供给音频模组进行播放。由于存储器的存储空间大于内存空间,当内存空间存满音频文件的前部分音频数据时,存储器还在继续存储音频文件的后部分音频数据,直至整个音频文件存储至存储器内。因此音频模组播放音频数据的同时,音频文件正在下载至存储器中,实现了音频数据的边下载边播放,无需等到音频文件完全下载至存储器后再播放音频文件,避免音频文件的延迟播放,提高了音频数据的播放效率。在音频文件下载完成后,控制音频模组根据已经播放的音频数据的数据量,从存储器读取音频文件的后部分音频数据进行播放,实现对音频文件的流畅播放。
本申请实施例中的数据处理装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为掌上电脑、车载电子设备和可穿戴设备等,非移动电子设备可以为电视机(television,TV)、蓝牙音响等,本申请实施例不作具体限定。
本申请实施例中的数据处理装置可以为具有操作***的装置。该操作***可以为安卓(Android)操作***,可以为ios操作***,还可以为其他可能的操作***,本申请实施例不作具体限定。
本申请实施例提供的数据处理装置能够实现图1至图7的方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选地,如图9所示,本申请实施例还提供一种电子设备30,包括处理器301,存储器302,存储在存储器302上并可在处理器301上运行的程序或指令,该程序或指令被处理器301执行时实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述的移动电子设备和非移动电子设备。
图10为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备40包括但不限于:射频单元403、网络模块404、音频输出单元405、输入单元406、传感器407、显示单元408、用户输入单元409、接口单元410、存储器402、以及处理器401等部件。
本领域技术人员可以理解,电子设备40还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理***与处理器401逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。图10中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器401,用于接收音频数据,并将音频数据写入存储器以及内存空间,存储器的存储空间大于内存空间;在音频文件未完全下载至存储器的情况下,从内存空间中读取音频数据并进行播放,音频文件包括多个音频数据;在音频文件完全下载至存储器的情况下,根据已播放的音频数据的数据量,从存储器中读取音频文件中未播放的音频数据进行播放。
可选地,处理器401,还用于在从内存空间中读取音频数据并进行播放之前,获取内存空间中的音频数据的数据量;在内存空间中的音频数据的数据量大于或等于预设数据量的情况下,基于预设的抢占式数据读写规则,获取内存空间的读取访问权限,从内存空间读取预设数据量大小的音频数据进行播放;在获取内存空间中的音频数据的数据量之后,在内存空间中的音频数据的数据量小于预设数据量的情况下,阻塞等待内存空间的读取访问权限。
可选地,处理器401,还用于在基于预设的抢占式数据读写规则,获取内存空间的读取访问权限之后,判断音频文件是否完全下载至存储器;在音频文件完全下载至存储器的情况下,控制音频模组根据已播放的音频数据的数据量从存储器中读取音频文件中未播放的音频数据并进行播放,并释放内存空间的读取访问权限;在音频文件未完全下载至存储器的情况下,从内存空间读取预设数据量大小的音频数据并进行播放。
可选地,处理器401,还用于在阻塞等待内存空间的读取访问权限之后,在内存空间中的音频数据达到预设存储阈值的情况下,基于预设的抢占式数据读写规则,获取内存空间的读取访问权限,从内存空间读取预设数据量大小的音频数据进行播放。
可选地,处理器401,还用于在阻塞等待内存空间的读取访问权限之后,在音频文件完全下载至存储器的情况下,控制音频模组根据已播放的音频数据的数据量从存储器中读取音频文件中未播放的音频数据并进行播放。
可选地,处理器401,还用于通过网络接收队列接收音频数据,将网络接收队列中的音频数据写入存储器,并将写入存储器的音频数据的数据量累加到存储器已下载的音频数据的第一数据量中;判断内存空间的音频数据是否达到预设存储阈值;在内存空间的音频数据未达到预设存储阈值的情况下,基于预设的抢占式数据读写规则,获取内存空间的写入访问权限,将网络接收队列或存储器中的音频数据写入内存空间。
可选地,处理器401,还用于确定第一数据量与内存空间已写入的音频数据的第二数据量的差值;在差值小于或等于单位时间内网络接收队列已接收到的音频数据的第三数据量的情况下,将网络接收队列中的音频数据写入内存空间;在差值大于第三数据量的情况下,将存储器中的音频数据写入内存空间。
可选地,处理器401,还用于根据预设存储阈值,确定内存空间的可用存储数据量;将第三数据量和可用存储数据量进行比较,确定最小值为目标数据量;将网络接收队列中目标数据量大小的音频数据写入内存空间;将写入内存空间的音频数据的数据量累加至第二数据量中,释放内存空间的写入访问权限。
可选地,处理器401,还用于根据第二数据量从存储器中获取与目标数据量大小相同的音频数据,将音频数据写入内存空间;将写入内存空间的音频数据的数据量累加至第二数据量中,释放内存空间的写入访问权限;其中,目标数据量为第三数据量和内存空间的可用存储数据量中的最小值。
可选地,处理器401,还用于在判断内存空间中的音频数据是否达到预设存储阈值之后,在内存空间中的音频数据达到预设存储阈值的情况下,确定最新读取内存空间的音频数据的时间戳与当前时间戳的时间差;在时间差大于预设时间阈值的情况下,确定音频文件播放异常。
综上,本实施例提供的电子设备,当接收到音频文件的音频数据时,将音频文件的所有音频数据存储于存储器中,与此同时,基于缓存机制将音频文件的前部分音频数据暂存于内存空间。当内存空间的存满时,从内存空间读取音频文件的前部分音频数据以供给音频模组进行播放。由于存储器的存储空间大于内存空间,当内存空间存满音频文件的前部分音频数据时,存储器还在继续存储音频文件的后部分音频数据,直至整个音频文件存储至存储器内。因此音频模组播放音频数据的同时,音频文件正在下载至存储器中,实现了音频数据的边下载边播放,无需等到音频文件完全下载至存储器后再播放音频文件,避免音频文件的延迟播放,提高了音频数据的播放效率。在音频文件下载完成后,控制音频模组根据已经播放的音频数据的数据量,从存储器读取音频文件的后部分音频数据进行播放,实现对音频文件的流畅播放。
应理解的是,本申请实施例中,输入单元406可以包括图形处理器(GraphicsProcessing Unit,GPU)4061和麦克风4062,图形处理器4061对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元408可包括显示面板4081,可以采用液晶显示器、有机发光二极管等形式来配置显示面板4081。用户输入单元409包括触控面板4091以及其他输入设备4092。触控面板4091,也称为触摸屏。触控面板4091可包括触摸检测装置和触摸控制器两个部分。其他输入设备409可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器402可用于存储软件程序以及各种数据,包括但不限于应用程序和操作***。处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为***级芯片、***芯片、芯片***或片上***芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (12)
1.一种数据处理方法,其特征在于,包括:
接收音频数据,并将所述音频数据写入存储器以及内存空间,所述存储器的存储空间大于所述内存空间;
在音频文件未完全下载至所述存储器的情况下,从所述内存空间中读取所述音频数据并进行播放,所述音频文件包括多个所述音频数据;
在所述音频文件完全下载至所述存储器的情况下,根据已播放的音频数据的数据量,从所述存储器中读取所述音频文件中未播放的音频数据进行播放。
2.根据权利要求1所述的方法,其特征在于,在所述从所述内存空间中读取所述音频数据并进行播放之前,还包括:
获取所述内存空间中的音频数据的数据量;
所述从所述内存空间中读取所述音频数据并进行播放包括:
在所述内存空间中的音频数据的数据量大于或等于预设数据量的情况下,基于预设的抢占式数据读写规则,获取所述内存空间的读取访问权限,从所述内存空间读取所述预设数据量大小的音频数据进行播放;
在所述获取所述内存空间中的音频数据的数据量之后,还包括:
在所述内存空间中的音频数据的数据量小于预设数据量的情况下,阻塞等待所述内存空间的读取访问权限。
3.根据权利要求2所述的方法,其特征在于,在所述基于预设的抢占式数据读写规则,获取所述内存空间的读取访问权限之后,还包括:
判断所述音频文件是否完全下载至所述存储器;
在所述音频文件完全下载至所述存储器的情况下,控制音频模组根据已播放的音频数据的数据量从所述存储器中读取所述音频文件中未播放的音频数据并进行播放,并释放所述内存空间的读取访问权限;
在所述音频文件未完全下载至所述存储器的情况下,从所述内存空间读取所述预设数据量大小的音频数据并进行播放。
4.根据权利要求3所述的方法,其特征在于,在所述阻塞等待所述内存空间的读取访问权限之后,还包括:
在所述内存空间中的音频数据达到预设存储阈值的情况下,基于预设的抢占式数据读写规则,获取所述内存空间的读取访问权限,从所述内存空间读取所述预设数据量大小的音频数据进行播放。
5.根据权利要求3所述的方法,其特征在于,在所述阻塞等待所述内存空间的读取访问权限之后,还包括:
在所述音频文件完全下载至所述存储器的情况下,控制音频模组根据已播放的音频数据的数据量从所述存储器中读取所述音频文件中未播放的音频数据并进行播放。
6.根据权利要求1所述的方法,其特征在于,所述接收音频数据,并将所述音频数据写入存储器以及内存空间,包括:
通过网络接收队列接收所述音频数据,将所述网络接收队列中的音频数据写入所述存储器,并将写入所述存储器的音频数据的数据量累加到所述存储器已下载的音频数据的第一数据量中;
判断所述内存空间的音频数据是否达到预设存储阈值;
在所述内存空间的音频数据未达到预设存储阈值的情况下,基于预设的抢占式数据读写规则,获取所述内存空间的写入访问权限,将所述网络接收队列或所述存储器中的音频数据写入所述内存空间。
7.根据权利要求6所述的方法,其特征在于,所述将所述网络接收队列或所述存储器中的音频数据写入所述内存空间,包括:
确定所述第一数据量与所述内存空间已写入的音频数据的第二数据量的差值;
在所述差值小于或等于单位时间内所述网络接收队列已接收到的音频数据的第三数据量的情况下,将所述网络接收队列中的音频数据写入所述内存空间;
在所述差值大于所述第三数据量的情况下,将所述存储器中的音频数据写入所述内存空间。
8.根据权利要求7所述的方法,其特征在于,所述将所述网络接收队列中的音频数据写入所述内存空间,包括:
根据所述预设存储阈值,确定所述内存空间的可用存储数据量;
将所述第三数据量和所述可用存储数据量进行比较,确定最小值为目标数据量;
将所述网络接收队列中所述目标数据量大小的音频数据写入所述内存空间;
将写入所述内存空间的音频数据的数据量累加至所述第二数据量中,释放内存空间的写入访问权限。
9.根据权利要求7所述的方法,其特征在于,所述将所述存储器中的音频数据写入所述内存空间,包括:
根据所述第二数据量从所述存储器中获取与目标数据量大小相同的音频数据,将所述音频数据写入所述内存空间;
将写入所述内存空间的音频数据的数据量累加至所述第二数据量中,释放内存空间的写入访问权限;
其中,所述目标数据量为所述第三数据量和所述内存空间的可用存储数据量中的最小值。
10.根据权利要求6所述的方法,其特征在于,在所述判断所述内存空间中的音频数据是否达到预设存储阈值之后,还包括:
在所述内存空间的音频数据达到所述预设存储阈值的情况下,确定最新读取所述内存空间的音频数据的时间戳与当前时间戳的时间差;
在所述时间差大于预设时间阈值的情况下,确定所述音频文件播放异常。
11.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-10任一项所述的数据处理方法的步骤。
12.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-10任一项所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210964122.7A CN115359810A (zh) | 2022-08-11 | 2022-08-11 | 数据处理方法、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210964122.7A CN115359810A (zh) | 2022-08-11 | 2022-08-11 | 数据处理方法、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115359810A true CN115359810A (zh) | 2022-11-18 |
Family
ID=84033720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210964122.7A Pending CN115359810A (zh) | 2022-08-11 | 2022-08-11 | 数据处理方法、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115359810A (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001063807A1 (en) * | 2000-02-22 | 2001-08-30 | Portalplayer, Inc. | Real-time wireless recording and compression system and method |
CN101964202A (zh) * | 2010-09-09 | 2011-02-02 | 南京中兴特种软件有限责任公司 | 一种混合多种编码格式的音频数据文件播放处理方法 |
WO2011038565A1 (zh) * | 2009-09-29 | 2011-04-07 | 深圳市融创天下科技发展有限公司 | 一种流媒体音视频同步方法及*** |
CN102724584A (zh) * | 2012-06-18 | 2012-10-10 | Tcl集团股份有限公司 | 网络视频在线播放方法、视频在线播放装置及智能电视 |
CN105230006A (zh) * | 2013-07-22 | 2016-01-06 | 松下电器(美国)知识产权公司 | 保存方法、再现方法、保存装置及再现装置 |
CN107293316A (zh) * | 2016-04-13 | 2017-10-24 | 青岛海信电器股份有限公司 | 一种音频数据处理方法及装置 |
CN107957861A (zh) * | 2017-12-11 | 2018-04-24 | 中标软件有限公司 | 即时播放声卡信号输入通道中音频数据的方法及装置 |
CN108509176A (zh) * | 2018-04-10 | 2018-09-07 | Oppo广东移动通信有限公司 | 一种播放音频数据的方法、装置、存储介质及智能终端 |
CN110248233A (zh) * | 2019-07-17 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 一种音视频播放方法、装置、设备及存储介质 |
CN111524540A (zh) * | 2020-07-06 | 2020-08-11 | 延锋伟世通电子科技(南京)有限公司 | 一种新型的汽车音频Digital Chime播放器 |
CN112882682A (zh) * | 2021-02-25 | 2021-06-01 | 广州趣丸网络科技有限公司 | 一种音频录制设备中的内存复用方法、装置、设备及介质 |
CN113315810A (zh) * | 2021-04-29 | 2021-08-27 | 上海探寻信息技术有限公司 | 一种在线音频播放方法及设备 |
CN113672757A (zh) * | 2021-08-23 | 2021-11-19 | 北京字跳网络技术有限公司 | 一种音频播放方法及装置 |
-
2022
- 2022-08-11 CN CN202210964122.7A patent/CN115359810A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001063807A1 (en) * | 2000-02-22 | 2001-08-30 | Portalplayer, Inc. | Real-time wireless recording and compression system and method |
WO2011038565A1 (zh) * | 2009-09-29 | 2011-04-07 | 深圳市融创天下科技发展有限公司 | 一种流媒体音视频同步方法及*** |
CN101964202A (zh) * | 2010-09-09 | 2011-02-02 | 南京中兴特种软件有限责任公司 | 一种混合多种编码格式的音频数据文件播放处理方法 |
CN102724584A (zh) * | 2012-06-18 | 2012-10-10 | Tcl集团股份有限公司 | 网络视频在线播放方法、视频在线播放装置及智能电视 |
CN105230006A (zh) * | 2013-07-22 | 2016-01-06 | 松下电器(美国)知识产权公司 | 保存方法、再现方法、保存装置及再现装置 |
CN107293316A (zh) * | 2016-04-13 | 2017-10-24 | 青岛海信电器股份有限公司 | 一种音频数据处理方法及装置 |
CN107957861A (zh) * | 2017-12-11 | 2018-04-24 | 中标软件有限公司 | 即时播放声卡信号输入通道中音频数据的方法及装置 |
CN108509176A (zh) * | 2018-04-10 | 2018-09-07 | Oppo广东移动通信有限公司 | 一种播放音频数据的方法、装置、存储介质及智能终端 |
CN110248233A (zh) * | 2019-07-17 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 一种音视频播放方法、装置、设备及存储介质 |
CN111524540A (zh) * | 2020-07-06 | 2020-08-11 | 延锋伟世通电子科技(南京)有限公司 | 一种新型的汽车音频Digital Chime播放器 |
CN112882682A (zh) * | 2021-02-25 | 2021-06-01 | 广州趣丸网络科技有限公司 | 一种音频录制设备中的内存复用方法、装置、设备及介质 |
CN113315810A (zh) * | 2021-04-29 | 2021-08-27 | 上海探寻信息技术有限公司 | 一种在线音频播放方法及设备 |
CN113672757A (zh) * | 2021-08-23 | 2021-11-19 | 北京字跳网络技术有限公司 | 一种音频播放方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101724176B1 (ko) | 기회적 멀티태스킹 | |
CN110312156B (zh) | 一种视频缓存方法、装置及可读存储介质 | |
WO2018082570A1 (zh) | I/o请求的调度方法及装置 | |
US8099548B2 (en) | Power efficient media playback on general purpose portable devices | |
CN110300328B (zh) | 一种视频播放控制方法、装置及可读存储介质 | |
CN110532205B (zh) | 数据传输方法、装置、计算机设备和计算机可读存储介质 | |
CN113395572B (zh) | 一种视频处理方法、装置、存储介质及电子设备 | |
CN109254849B (zh) | 应用程序的运行方法及装置 | |
CN110704202B (zh) | 多媒体录制数据共享方法及终端设备 | |
CN110099012B (zh) | 一种流量控制方法、***及电子设备和存储介质 | |
CN112698793A (zh) | 一种数据存储方法、装置、机器可读介质及设备 | |
US8601232B2 (en) | Memory management device, memory management method, memory management program, computer-readable recording medium recording memory management program and integrated circuit | |
CN110401869A (zh) | 一种视频直播方法、***及电子设备和存储介质 | |
CN114416178A (zh) | 数据访问方法、装置及非临时性计算机可读存储介质 | |
CN113157539A (zh) | 一种资源统计方法、装置及终端 | |
CN106959819B (zh) | 数据存储方法、装置和***以及便携式电子设备 | |
CN115359810A (zh) | 数据处理方法、设备及可读存储介质 | |
CN109976790B (zh) | 应用更新方法、装置、终端及存储介质 | |
CN109981798A (zh) | 一种数据写入方法、***及电子设备和存储介质 | |
CN111970572B (zh) | 一种智能电视上控制视频遮挡图的方法 | |
CN110769316A (zh) | 一种首帧时间的计算方法、装置、设备和存储介质 | |
CN114443442B (zh) | 日志存储方法及电子设备 | |
CN104837064B (zh) | 开放式操作***的媒体播放器的控制方法及媒体播放器 | |
CN112882857A (zh) | 性能问题定位方法、装置、电子设备和存储介质 | |
CN114296907A (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 |