CN101110247B - 音频文件的播放方法及装置 - Google Patents
音频文件的播放方法及装置 Download PDFInfo
- Publication number
- CN101110247B CN101110247B CN2007101296864A CN200710129686A CN101110247B CN 101110247 B CN101110247 B CN 101110247B CN 2007101296864 A CN2007101296864 A CN 2007101296864A CN 200710129686 A CN200710129686 A CN 200710129686A CN 101110247 B CN101110247 B CN 101110247B
- Authority
- CN
- China
- Prior art keywords
- frame
- file
- play
- audio file
- duration
- 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
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
- G11B27/32—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
- G11B27/322—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier used signal is digitally coded
-
- 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/00007—Time or data compression or expansion
- G11B2020/00014—Time or data compression or expansion the compressed signal being an audio signal
- G11B2020/00028—Advanced audio coding [AAC]
-
- 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/00007—Time or data compression or expansion
- G11B2020/00014—Time or data compression or expansion the compressed signal being an audio signal
- G11B2020/00057—MPEG-1 or MPEG-2 audio layer III [MP3]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
Abstract
本发明实施例公开了一种音频文件的播放方法,该方法包括:解析音频文件的一个或多个数据帧,直至获得满足播放此音频文件的条件的文件播放基本信息;利用所述文件播放基本信息,播放所述音频文件。本发明公开了一种音频文件的定位搜索方法,该方法中,接收到输入的待搜索播放位置信息时,根据保存的播放位置与帧位置的对应关系,确定所述待搜索播放位置对应的帧位置,并从确定的帧位置开始播放音频文件。本发明实施例还公开了音频文件的播放装置。采用本发明,能够大大提高音频文件播放的响应速度。
Description
技术领域
本发明涉及音频播放领域,尤其涉及音频文件的播放方法及装置。
背景技术
现有技术中,具有音频播放功能的实体,如多媒体手机、MP3等,可以对存储在其中的音频文件进行播放或者进行任意位置的定位搜索。
音频文件,如MP3(Moving Picture Experts Group Audio Layer III)、AAC(Advanced Audio Coding)等类型的音频文件,其文件结构主要由多帧数据来组成,每帧包含帧头数据和音频数据,其中,帧头数据用来记录本帧的音频信息,如采样率、声道模式、每帧长度等;音频数据为经过特定压缩算法处理后的数据。
对于音频文件的播放,主要包括解析和解码两个过程,解析是指从音频文件所包含帧的帧头获取音频信息;解码是指将帧中经过压缩处理的音频数据还原成为原始的PCM(Pulse Code Modulation)数据。
参见图1,现有技术中播放音频文件时,首先根据文件后缀名初步判断该文件的类型,然后根据类型对组成该文件的每一帧进行解析,得到每一帧的音频信息,如采样率、声道模式、每帧长度等。通过对整个文件进行解析得到该文件的采样率、播放总时长、总帧数等文件信息。解析完成后,开始从第一帧数据进行解码播放。
对于音频文件的定位搜索主要包括定位和播放两个过程,定位是指根据输入的搜索命令中的搜索时间,确定起始播放的帧位置;播放过程是指从上述确定的起始帧位置开始进行音频数据的解码播放。
参见图2,现有技术中对音频文件进行定位搜索前,需要判断搜索命令中搜索时间的有效性,在确定搜索时间有效时,才进行定位搜索的操作。在进行定位搜索时,首先根据搜索时间进行定位,具体方法为:从组成音频文件的第一帧开始进行播放时长的累积,每一帧的播放时长可以从该帧的帧头数据中获得,当到某帧时的累积播放时长大于或等于搜索时间时,将该帧作为起始播放帧。然后,从该起始播放帧开始进行音频数据的解码播放。例如,搜索时间为5s,每一帧的播放时长为10ms,则到第500帧时的累积播放时长为500*10ms=5s,此时将第500帧作为起始播放帧,并从第500帧开始读取数据进行解码播放。
在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:
用户启动播放后,要等待一段较长的时间才能听到音频声,响应速度慢,这是因为播放音频文件时,在文件解析部分需要读取并解析组成该文件的所有帧后,才可以开始播放。当文件较大时,读取速度较慢,例如,对于一个大小为4M的MP3音乐文件,被保存在外存储器如SD(Secure Digital)卡上,按1M/S的读取速度来计算,读完整个文件需要4S左右的时间,也就是说,用户启动播放后需要等待至少4秒时间才能听到音乐声。
在每次进行定位搜索时,定位过程都需要从音频文件的第一帧开始读取数据,进行播放时长的累积,直到找到累积时长满足搜索时间的帧位置。这种通过从文件的最开始逐帧搜索定位的方法,效率低下,播放响应速度较慢,当搜索时间点接近结束时间时,定位过程就需要对整个文件遍历一遍,对于存放在慢速设备上的大文件更会耗去大量的时间。
发明内容
本发明实施例提供音频文件的播放方法及装置,用以解决现有技术中音频文件的播放响应速度慢的问题。
本发明实施例提供一种音频文件的播放方法,该方法包括:
接收到输入的待搜索播放位置信息时,根据预先建立并保存的播放位置与帧位置的对应关系,确定所述待搜索播放位置对应的帧位置,并从确定的帧位置开始播放音频文件;
所述建立并保存播放位置与帧位置的对应关系包括:解析音频文件的数据帧,解析获得数据帧的播放时长和帧大小信息后,计算第二累加时长和第二累加帧大小,计算方法为:第二累加时长等于第一累加时长与所述播放时长之和,第二累加帧大小等于第一累加帧大小与所述帧大小之和,所述第一累加时长为所述数据帧之前的所有数据帧的播放时长的总和,所述第一累加帧大小为所述数据帧之前的所有数据帧的帧大小的总和;
将所述第二累加时长作为播放时间点,将所述第二累加帧大小作为帧位置,建立并保存所述播放时间点与所述帧位置的对应关系;或者,在所述第二累加时长大于或等于当前预标记时间点时,将所述当前预标记时间点作为播放时间点,将所述第二累加帧大小作为帧位置,建立并保存所述播放时间点与所述帧位置的对应关系。
本发明实施例提供一种音频文件的播放装置,该装置包括:
定位搜索单元,用于接收到输入的待搜索播放位置信息时,根据预先建立并保存的播放位置与帧位置的对应关系,确定所述待搜索播放位置对应的帧位置;
第三播放单元,用于从所述确定的帧位置开始播放音频文件;
索引建立单元,包括计算单元和保存单元,所述计算单元用于解析音频文件的数据帧,在解析获得数据帧的播放时长和帧大小信息后,计算第二累加时长和第二累加帧大小,所述第二累加时长等于第一累加时长与所述播放时长之和,第二累加帧大小等于第一累加帧大小与所述帧大小之和,所述第一累加时长为所述数据帧之前的所有数据帧的播放时长的总和,所述第一累加帧大小为所述数据帧之前的所有数据帧的帧大小的总和;
所述保存单元,用于将所述第二累加时长作为播放时间点,将所述第二累加帧大小作为帧位置,建立并保存所述播放时间点与所述帧位置的对应关系;或者,在所述第二累加时长大于或等于当前预标记时间点时,将所述当前预标记时间点作为播放时间点,将所述第二累加帧大小作为帧位置,建立并保存所述播放时间点与所述帧位置的对应关系。
本发明实施例的有益效果在于:
与现有技术相比,本发明实施例中在播放音频文件时,通过解析音频文件的一个或多个数据帧,在获得文件播放基本信息后就开始播放音频文件,大大提高了音频文件的播放响应速度。同时,通过预先建立并保存播放位置与帧位置的对应关系,在定位播放时,可以根据该对应关系快速找到指定的起始播放位置并从该位置开始播放,大大提高了定位搜索的速度,从而提高了音频文件的播放响应速度。
附图说明
图1为现有技术中音频文件的播放流程;
图2为现有技术中音频文件的定位搜索流程;
图3为本发明实施例中音频文件的播放流程;
图4为本发明实施例中音频文件的定位搜索流程;
图5为本发明实施例中音频文件的播放装置结构示意图;
图6为本发明实施例中音频文件的播放装置结构示意图。
具体实施方式
为了提高音频文件播放的响应速度,本发明实施例提供一种音频文件的播放方法,本方法中,在通过解析音频文件的一个或多个数据帧来获取音频文件播放所需的基本信息后,开始解码播放该音频文件,在解码播放音频文件的同时,可以继续对音频文件进行解析以获得文件的完整信息。在解析音频文件的过程中,可以建立包含播放位置与帧位置对应关系的索引表,该索引表可以供定位搜索时使用。
下面结合附图对本发明实施例提供的方法进行说明:
步骤S1:通过解析音频文件的一个或多个数据帧,获得文件播放基本信息;
如图3所示,本步骤包括步骤301-304,具体的:
步骤301:读取音频文件的一数据帧;
这里,从音频文件的第一帧开始读取,即第一次读取音频文件的第一帧数据,以后顺次。
步骤302:解析读取的数据帧,获得文件播放基本信息;
这里,通过解析数据帧,从该帧的帧头数据中获取需要的文件播放基本信息,文件播放基本信息为播放音频文件所必需的信息,对于MP3、ACC等音频文件来说,文件播放基本信息包括采样率、样本精度和声道模式信息。
较佳的,可以将获得的文件播放基本信息进行保存,例如保存在帧索引表中,以供定位搜索播放时使用。
步骤303:判断是否获得完全的文件播放基本信息,若是,则到步骤304,否则,到步骤301,继续读取下一数据帧,直到获得完全的文件播放基本信息。
步骤304:输出获取的文件播放基本信息,以供文件解码播放时使用。
一般来说,通过解析音频文件的前一帧或前两帧就可以获得完全的文件播放基本信息。
步骤S2:利用步骤S1中获得的文件播放基本信息,解码播放音频文件;
如图3所示,本步骤包括步骤305-308,具体的:
步骤305:读取音频文件的一数据帧;
这里,从音频文件的第一帧开始读取,即第一次读取音频文件的第一帧数据,以后顺次。
步骤306:利用步骤304中输出的文件播放基本信息对读取的数据帧进行解码,生成PCM数据;
步骤307:播放解码生成的PCM数据;
步骤308:判断当前播放是否是最后一帧数据,若是,则结束本次播放;否则,到步骤305,继续读取下一数据帧进行解码播放,直到本次播放结束。
在执行步骤S2的同时,还可以并行执行步骤S3:继续解析音频文件,获得文件播放完整信息,具体如下:
如图3所示,步骤S3包括步骤309-312,其中:
步骤309:读取一数据帧;
这里,从步骤S1中解析过的数据帧的下一帧数据帧开始读取,以后顺次。
步骤310:对读取的数据帧进行解析,获得该帧对应的音频信息;
步骤311:判断当前帧是否是最后一帧,若是,则到步骤312,否则,到步骤309,继续读取下一数据帧,直到解析完所有的帧数据;
步骤312:根据每帧的音频信息,得到并输出文件播放完整信息。
这里,文件播放完整信息,除了采样率、样本精度和声道模式等基本信息外,还包括音频文件的比特率、播放总时长、总帧数等,对于MP3等类型的音频文件,还包括歌曲名称、作词、作曲、演唱者、乐队、专辑等制作出版信息,除基本信息外的这些信息可以用于控制音频文件播放的结束及支持用户对 音频文件的信息查询等,例如通过比较当前播放时长与播放总时长、或者比较当前播放帧数与总帧数的关系来控制音频文件播放的结束;将歌曲名称、作词、作曲等音频文件的相关信息进行输出显示。这些信息并不是播放音频文件所必须的信息,所以,本发明中可以在获取到文件播放基本信息后,就进行文件的解码播放,达到减小播放等待时间。
本发明中,步骤S2和步骤S3可以并行执行,可以利用系统多任务的特点,由系统为S2和S3分别调度一个执行进程,这两个进程并发执行各自的任务,S1任务会先结束,两个进程并发的时间在几秒以内,且不会影响到文件的流畅播放。
考虑到对音频文件进行定位搜索的需要,在步骤S3中解析一帧数据后,获得该帧的播放时长和帧大小等音频信息,可以根据这些信息建立播放位置与帧位置的对应关系,并将建立的对应关系进行保存,例如保存在帧索引表中,该对应关系具体可以为但不限于:播放时间点与帧位置的对应关系,或者帧号与帧位置的对应关系。具体建立方法如下:
解析获得一帧的播放时长和帧大小信息后,将该播放时长与第一累加时长相加得到第二累加时长,将该帧大小与第一累加帧大小相加得到第二累加帧大小。其中,第一累加时长为本帧之前已遍历过的各帧播放时长之和,第一累加帧大小为本帧之前已遍历过的各帧大小之和。显而易见,对于第一帧,第一累加时长和第一累加帧大小均为0,对于下一帧,计算使用的第一累加时长和第一累加帧大小分别为计算上一帧时得到的第二累加时长和第二累加帧大小。
然后,根据计算得到的第二累加时长和第二累加帧大小建立帧索引表,可以直接在帧索引表中保存第二累加时长与第二累加帧大小的对应关系,这样,当遍历解析完所有帧后,就在帧索引表中保存了每一帧的播放时间点与帧位置的对应关系;还可以按照预先规定的标记时间点来建立帧索引表,此时需要在判断第二累加时长大于或等于预标记时间点时,才保存预标记时间点与第二累加帧大小的对应关系。比如,每一帧的播放时长为150ms,每一帧的帧大小为 600字节(Bytes),规定为每个整秒保存帧位置,则在遍历到第7帧时,计算得到的第二累加时长为150ms+900ms=1050ms>1秒,第二累加帧大小为600Bytes+3600Bytes=4200Bytes,则保存播放时间点1秒与帧位置4200Bytes的对应关系;同样,在分别遍历到第14、21、28等帧时,分别为播放时间点2秒、3秒、4秒等保存播放时间点与帧位置的对应关系,分别为:2秒与8400Bytes、3秒与12600Bytes、4秒与16800Bytes的对应关系。
对于帧号与帧位置对应关系的建立方法,在解析获得一帧的帧大小信息后,将该帧大小与第一累加帧大小相加得到第二累加帧大小。其中,第一累加帧大小为本帧之前已遍历过的各帧大小之和。同样,对于第一帧,第一累加帧大小为0,对于下一帧,计算使用的第一累加帧大小为计算上一帧时得到的第二累加帧大小。然后,根据计算得到的第二累加帧大小建立帧索引表,在帧索引表中保存本帧帧号与第二累加帧大小的对应关系,这样,当遍历解析完所有帧后,就在帧索引表中保存了帧号与帧位置的对应关系。
当遍历解析完所有帧后,帧索引表也相应建立完毕,该索引表被输出并保存。在用户使用音频文件的定位搜索功能时,输入包含待搜索播放位置信息的定位搜索命令后,就可以利用已建立的帧索引表来实现定位搜索功能,具体流程如下,如图4所示:
步骤401:判断待搜索播放位置的有效性,若有效,则到步骤402,否则本流程结束;
这里,当待搜索播放位置为待搜索播放时间点时,有效的待搜索播放时间点通常是指不超过音频文件播放总时长的时间点,若超过,则被判定为无效搜索时间点。例如,对于一个播放总时长为15分钟的音频文件,如果待搜索播放时间点为20分钟,那么该时间点就会被判定为无效搜索时间点;当待搜索播放位置为待搜索帧号时,有效的待搜索帧号是不超出音频文件所包含的帧号范围,若超出,则被判定为无效帧号。
步骤402:查询帧索引表,确定待搜索播放位置对应的帧位置,并将确定 的帧位置作为起始播放位置;
这里,在查询帧索引表时,首先找到符合待搜索播放位置的表项,该表项所包含的播放位置与待搜索播放位置相同或最接近,在定位时,利用该播放位置对应的帧位置对音频文件指针进行定位,将指针指示的位置作为起始播放位置。
步骤403:从上一步骤确定的起始播放位置处,开始读取数据帧;
步骤404:将读取的数据帧进行解码,并播放解码生成的PCM数据;
本步骤中,可以利用获得的文件播放基本信息对读取的数据帧进行解码,生成PCM数据,并播放解码生成的PCM数据。这里,获得文件播放基本信息的具体方法可以是:通过查询帧索引表获得文件播放基本信息;或者,在步骤402与步骤403之间,增加通过解析音频文件的一个或多个数据帧得到文件播放基本信息的步骤,具体同前述步骤301-304,这里不再赘述。在获得文件播放基本信息后,播放音频文件时,还可以并行执行继续解析音频文件,获得文件播放完整信息的步骤,具体同前述步骤309-312,这里也不再赘述。
步骤405:判断当前帧是否为最后一帧,若是,则本次流程结束;否则,到步骤403,继续读取下一数据帧,直到最后一帧数据播放结束。
这里,在返回步骤403继续读取下一帧数据时,可以将当前音频文件指针后移一个帧位置,并读取该位置处的数据帧。
需要说明的是,在一些特殊情况下,例如在用户启动音频文件的定位搜索功能时,该音频文件未被播放过,那么此时还不存在建立好的帧索引表,所以就需要临时建立帧索引表,建立方法与上述在音频文件播放的文件解析过程中实现帧索引表的建立相同,即:通过解析每一数据帧,根据解析得到的每一帧的播放时长和帧大小信息来填充帧索引表,具体方法这里不再赘述。
通过预先建立帧索引表,在定位搜索时,利用帧索引表能够很快找到搜索时间点对应的起始帧位置,并从该位置进行音频文件的播放,实现了搜索定位的高效率。
参见图5,本发明实施例还提供一种音频文件的播放装置,该装置包括解析单元501和第一播放单元502,其中,解析单元501,用于解析音频文件的一个或多个数据帧,直至获得满足播放此音频文件的条件的文件播放基本信息,该文件播放基本信息为播放音频文件所必需的信息,包括但不限于:采样率、样本精度和声道模式信息;播放单元502,用于利用所述文件播放基本信息,播放所述音频文件。
解析单元501包括读取单元5011、获取单元5012、判断单元5013和输出单元5014,其中,读取单元5011,用于读取所述音频文件的数据帧;获取单元5012,用于解析读取单元读取的数据帧,获得文件播放基本信息;判断单元5013,用于判断当前是否获得完全的文件播放基本信息,若是,则通知输出单元输出获取的文件播放基本信息;否则,通知读取单元继续读取下一数据帧;输出单元5014,用于输出获取的文件播放基本信息。
该装置进一步包括第二单元503和控制单元504,其中,第二单元503,用于在所述第一播放单元播放音频文件时,从所述解析单元解析过的数据帧的下一数据帧开始继续解析所述音频文件的数据帧,获得文件播放完整信息;控制单元504,用于利用所述文件播放完整信息,控制所述音频文件播放的结束和输出所述音频文件的相关信息。
该装置进一步包括索引建立单元505、定位搜索单元506和第二播放单元507,其中,索引建立单元505,用于利用所述解析单元和所述第二单元解析获得的音频信息,建立并保存播放位置与帧位置的对应关系,所述音频信息包括播放时长和帧大小信息,所述播放位置包括播放时间点或帧号;定位搜索单元506,用于在接收到输入的待搜索播放位置信息时,根据所述对应关系,确定所述待搜索播放位置对应的帧位置;第二播放单元507,用于从所述确定的帧位置开始播放音频文件。
索引建立单元505包括计算单元5051和保存单元5052,其中,计算单元5051,用于在解析获得数据帧的播放时长和帧大小信息后,计算第二累加时长 和第二累加帧大小,具体包括:用于计算第二累加时长的第一累加单元,第二累加时长等于第一累加时长与所述播放时长之和,所述第一累加时长为所述数据帧之前的所有数据帧的播放时长的总和;以及用于计算第二累加帧大小的第二累加单元,第二累加帧大小等于第一累加帧大小与所述帧大小之和,所述第一累加帧大小为所述数据帧之前的所有数据帧的帧大小的总和;保存单元5052,用于将所述第二累加时长作为播放时间点,将所述第二累加帧大小作为帧位置,建立并保存所述播放时间点与所述帧位置的对应关系;或者,在所述第二累加时长大于或等于当前预标记时间点时,将所述当前预标记时间点作为播放时间点,将所述第二累加帧大小作为帧位置,建立并保存所述播放时间点与所述帧位置的对应关系。
参见图6,本发明实施例还提供一种音频文件的播放装置,该装置包括索引建立单元601、定位搜索单元602和第三播放单元603,其中,索引建立单元601,用于解析音频文件的数据帧,获得数据帧的音频信息,并利用该音频信息建立并保存播放位置与帧位置的对应关系;定位搜索单元602,用于接收到输入的待搜索播放位置信息时,根据所述对应关系,确定所述待搜索播放位置对应的帧位置;第三播放单元603,用于从确定的帧位置开始播放所述音频文件。
所述音频信息包括播放时长和帧大小信息;所述播放位置包括播放时间点或帧号。
索引建立单元601包括计算单元6011和保存单元6012,其中,计算单元6011,用于在解析获得数据帧的播放时长和帧大小信息后,计算第二累加时长和第二累加帧大小,具体包括:用于计算第二累加时长的第一累加单元,第二累加时长等于第一累加时长与所述播放时长之和,所述第一累加时长为所述数据帧之前的所有数据帧的播放时长的总和;以及用于计算第二累加帧大小的第二累加单元,第二累加帧大小等于第一累加帧大小与所述帧大小之和,所述第一累加帧大小为所述数据帧之前的所有数据帧的帧大小的总和;保存单元 6011,用于将所述第二累加时长作为播放时间点,将所述第二累加帧大小作为帧位置,建立并保存所述播放时间点与所述帧位置的对应关系;或者,在所述第二累加时长大于或等于当前预标记时间点时,将所述当前预标记时间点作为播放时间点,将所述第二累加帧大小作为帧位置,建立并保存所述播放时间点与所述帧位置的对应关系。
该装置进一步包括解析单元604,其中,解析单元604,用于解析音频文件的一个或多个数据帧,直至获得满足播放此音频文件的条件的文件播放基本信息,该文件播放基本信息为播放音频文件所必需的信息,包括但不限于:采样率、样本精度和声道模式信息;所述第三播放单元为用于利用所述文件播放基本信息,播放所述音频文件的第四播放单元。
解析单元604包括读取单元6041、获取单元6042、判断单元6043和输出单元6044,其中,读取单元6041,用于读取所述音频文件的数据帧;获取单元6042,用于解析读取单元读取的数据帧,获得文件播放基本信息;判断单元6043,用于判断当前是否获得完全的文件播放基本信息,若是,则通知输出单元输出获取的文件播放基本信息;否则,通知读取单元继续读取下一数据帧;输出单元6044,用于输出获取的文件播放基本信息。
该装置进一步包括第二单元605和控制单元606,其中,第二单元605,用于在所述第四播放单元播放音频文件时,从所述解析单元解析过的数据帧的下一数据帧开始继续解析所述音频文件的数据帧,获得文件播放完整信息;控制单元606,用于利用所述文件播放完整信息,控制所述音频文件播放的结束和输出所述音频文件的相关信息。
综上,本发明实施例的有益效果在于:
1.通过在解析获得文件播放基本信息后就开始播放音频文件,后续的解析和解码由串行变为并行,极大节省了播放的等待时间,使得无论文件大小,存储在什么介质上,启动播放时间都可以达到1~2秒的快速响应。
2.通过建立帧索引表,优化了搜索算法,使得对应不同搜索位置的响应 时间都一致,极大提升了搜索播放的响应速度。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种音频文件的播放方法,其特征在于,该方法包括:
接收到输入的待搜索播放位置信息时,根据预先建立并保存的播放位置与帧位置的对应关系,确定所述待搜索播放位置对应的帧位置,并从确定的帧位置开始播放音频文件;
所述建立并保存播放位置与帧位置的对应关系包括:解析音频文件的数据帧,解析获得数据帧的播放时长和帧大小信息后,计算第二累加时长和第二累加帧大小,计算方法为:第二累加时长等于第一累加时长与所述播放时长之和,第二累加帧大小等于第一累加帧大小与所述帧大小之和,所述第一累加时长为所述数据帧之前的所有数据帧的播放时长的总和,所述第一累加帧大小为所述数据帧之前的所有数据帧的帧大小的总和;
将所述第二累加时长作为播放时间点,将所述第二累加帧大小作为帧位置,建立并保存所述播放时间点与所述帧位置的对应关系;或者,在所述第二累加时长大于或等于当前预标记时间点时,将所述当前预标记时间点作为播放时间点,将所述第二累加帧大小作为帧位置,建立并保存所述播放时间点与所述帧位置的对应关系。
2.如权利要求1所述的方法,其特征在于,所述从确定的帧位置开始播放音频文件具体为:
利用通过解析所述音频文件的一个或多个数据帧获得满足播放此音频文件的条件的文件播放基本信息,从所述确定的帧位置开始播放所述音频文件。
3.如权利要求2所述的方法,其特征在于,所述解析音频文件的一个或多个数据帧获得满足播放此音频文件的条件的文件播放基本信息包括:
A0.读取所述音频文件的数据帧;
A1.解析读取的数据帧,获得文件播放基本信息;
A2.判断是否获得完全的文件播放基本信息,若是,则到步骤A3,否则,到步骤A0,读取下一数据帧;
A3.输出获取的文件播放基本信息。
4.如权利要求2所述的方法,其特征在于,所述文件播放基本信息至少包括:采样率、样本精度和声道模式信息。
5.如权利要求2所述的方法,其特征在于,在利用所述文件播放基本信息,播放所述音频文件时,该方法进一步包括:
继续解析所述音频文件的数据帧,获得文件播放完整信息,利用所述文件播放完整信息控制所述音频文件播放的结束和输出所述音频文件的相关信息。
6.一种音频文件的播放装置,其特征在于,该装置包括:
定位搜索单元,用于接收到输入的待搜索播放位置信息时,根据预先建立并保存的播放位置与帧位置的对应关系,确定所述待搜索播放位置对应的帧位置;
第三播放单元,用于从所述确定的帧位置开始播放音频文件;
索引建立单元,包括计算单元和保存单元,所述计算单元用于解析音频文件的数据帧,在解析获得数据帧的播放时长和帧大小信息后,计算第二累加时长和第二累加帧大小,所述第二累加时长等于第一累加时长与所述播放时长之和,第二累加帧大小等于第一累加帧大小与所述帧大小之和,所述第一累加时长为所述数据帧之前的所有数据帧的播放时长的总和,所述第一累加帧大小为所述数据帧之前的所有数据帧的帧大小的总和;
所述保存单元,用于将所述第二累加时长作为播放时间点,将所述第二累加帧大小作为帧位置,建立并保存所述播放时间点与所述帧位置的对应关系;或者,在所述第二累加时长大于或等于当前预标记时间点时,将所述当前预标记时间点作为播放时间点,将所述第二累加帧大小作为帧位置,建立并保存所述播放时间点与所述帧位置的对应关系。
7.如权利要求6所述的装置,其特征在于,所述第三播放单元用于:
利用文件播放基本信息,从所述确定的帧位置开始播放所述音频文件。
8.如权利要求7所述的装置,其特征在于,该装置进一步包括:
解析单元,用于解析音频文件的一个或多个数据帧,直至获得满足播放此音频文件的条件的文件播放基本信息。
9.如权利要求8所述的装置,其特征在于,所述解析单元包括:
读取单元,用于读取所述音频文件的数据帧;
获取单元,用于解析读取单元读取的数据帧,获得文件播放基本信息;
判断单元,用于判断当前是否获得完全的文件播放基本信息,若是,则通知输出单元输出获取的文件播放基本信息;否则,通知读取单元继续读取下一数据帧;
输出单元,用于输出获取的文件播放基本信息。
10.如权利要求8所述的装置,其特征在于,所述文件播放基本信息至少包括:采样率、样本精度和声道模式信息。
11.如权利要求8所述的装置,其特征在于,该装置进一步包括:
第二单元,用于在所述第三播放单元播放音频文件时,继续解析所述音频文件的数据帧,获得文件播放完整信息;
控制单元,用于利用所述文件播放完整信息,控制所述音频文件播放的结束和输出所述音频文件的相关信息。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101296864A CN101110247B (zh) | 2007-08-17 | 2007-08-17 | 音频文件的播放方法及装置 |
PCT/CN2008/071232 WO2009024035A1 (fr) | 2007-08-17 | 2008-06-06 | Procédé de lecture pour un fichier audio et dispositif apparenté |
US12/607,549 US8626323B2 (en) | 2007-08-17 | 2009-10-28 | Method and apparatus for playing audio files |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101296864A CN101110247B (zh) | 2007-08-17 | 2007-08-17 | 音频文件的播放方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101110247A CN101110247A (zh) | 2008-01-23 |
CN101110247B true CN101110247B (zh) | 2011-04-20 |
Family
ID=39042275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101296864A Active CN101110247B (zh) | 2007-08-17 | 2007-08-17 | 音频文件的播放方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8626323B2 (zh) |
CN (1) | CN101110247B (zh) |
WO (1) | WO2009024035A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110247B (zh) * | 2007-08-17 | 2011-04-20 | 华为技术有限公司 | 音频文件的播放方法及装置 |
CN101901612B (zh) * | 2009-05-27 | 2013-07-24 | 珠海扬智电子有限公司 | 变速不变调的声音播放方法及装置 |
CN101853658B (zh) * | 2009-06-18 | 2012-07-25 | 博石金(北京)信息技术有限公司 | 大音频数据的处理方法 |
CN102063923B (zh) * | 2009-11-18 | 2015-05-27 | 新奥特(北京)视频技术有限公司 | 一种动画自适应播放的方法和装置 |
CN101729675B (zh) * | 2009-12-24 | 2014-01-01 | 中兴通讯股份有限公司 | 基于彩信业务的适配方法及适配器装置 |
CN102402509B (zh) * | 2010-09-07 | 2017-01-18 | 无锡中感微电子股份有限公司 | 一种变码率音频文件的寻址方法和装置 |
CN102467940A (zh) * | 2010-11-08 | 2012-05-23 | 安凯(广州)微电子技术有限公司 | 一种无索引视频文件快进快退方法、装置以及播放系统 |
US9632647B1 (en) * | 2012-10-09 | 2017-04-25 | Audible, Inc. | Selecting presentation positions in dynamic content |
US9317486B1 (en) | 2013-06-07 | 2016-04-19 | Audible, Inc. | Synchronizing playback of digital content with captured physical content |
CN106205656B (zh) * | 2015-05-08 | 2020-02-21 | 阿里巴巴集团控股有限公司 | 一种文件播放位置的定位方法及装置 |
CN104994433B (zh) * | 2015-06-30 | 2017-12-26 | 上海帝联信息科技股份有限公司 | 视频文件提供方法及装置 |
CN105979350B (zh) * | 2016-05-05 | 2019-03-08 | 联发科技(新加坡)私人有限公司 | 一种搜索播放文件的播放位置的方法及相应装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1726556A (zh) * | 2002-12-13 | 2006-01-25 | 松下电器产业株式会社 | 记录和再现系统、记录装置、再现装置、记录媒介、记录和再现方法、记录方法、再现方法、程序和记录媒介 |
CN1971742A (zh) * | 2006-12-08 | 2007-05-30 | 北京中星微电子有限公司 | 一种针对变化比特率mp3文件的定位播放方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10187188A (ja) * | 1996-12-27 | 1998-07-14 | Shinano Kenshi Co Ltd | 音声再生方法と音声再生装置 |
JP3997640B2 (ja) * | 1999-02-01 | 2007-10-24 | 松下電器産業株式会社 | 情報記録再生装置 |
JP4489248B2 (ja) * | 1999-06-02 | 2010-06-23 | パナソニック株式会社 | 光ディスク、光ディスクに対してデータの記録、再生を行なう装置及び方法 |
MXPA04002148A (es) * | 2001-09-06 | 2004-06-29 | Thomson Licensing Sa | Metodo y aparato paa el cronometraje de tiempo de reproduccion transcurrido en archivos de datos de audio codificados en forma digital con velocidad variable de bits. |
US7317867B2 (en) | 2002-07-11 | 2008-01-08 | Mediatek Inc. | Input buffer management for the playback control for MP3 players |
CN100525447C (zh) | 2005-12-07 | 2009-08-05 | 联合信源数字音视频技术(北京)有限公司 | 支持精确定位的音视频媒体数据组织实现方法 |
US7975225B2 (en) * | 2007-05-02 | 2011-07-05 | Microsoft Corporation | Iteratively locating a position corresponding to a desired seek time |
CN101110247B (zh) * | 2007-08-17 | 2011-04-20 | 华为技术有限公司 | 音频文件的播放方法及装置 |
-
2007
- 2007-08-17 CN CN2007101296864A patent/CN101110247B/zh active Active
-
2008
- 2008-06-06 WO PCT/CN2008/071232 patent/WO2009024035A1/zh active Application Filing
-
2009
- 2009-10-28 US US12/607,549 patent/US8626323B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1726556A (zh) * | 2002-12-13 | 2006-01-25 | 松下电器产业株式会社 | 记录和再现系统、记录装置、再现装置、记录媒介、记录和再现方法、记录方法、再现方法、程序和记录媒介 |
CN1971742A (zh) * | 2006-12-08 | 2007-05-30 | 北京中星微电子有限公司 | 一种针对变化比特率mp3文件的定位播放方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2009024035A1 (fr) | 2009-02-26 |
US8626323B2 (en) | 2014-01-07 |
US20100049349A1 (en) | 2010-02-25 |
CN101110247A (zh) | 2008-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101110247B (zh) | 音频文件的播放方法及装置 | |
US20070094031A1 (en) | Audio time scale modification using decimation-based synchronized overlap-add algorithm | |
US8078456B2 (en) | Audio time scale modification algorithm for dynamic playback speed control | |
CN101996627B (zh) | 语音处理装置、语音处理方法和程序 | |
US20080059170A1 (en) | System and method for searching based on audio search criteria | |
CN102610267B (zh) | 一种改善播放系统音频播放质量的方法 | |
JP2010511190A (ja) | オブジェクトベースオーディオ信号の符号化及び復号化方法並びにその装置 | |
CN101203907A (zh) | 音频编码装置、音频解码装置以及音频编码信息传输装置 | |
CN101506808A (zh) | 基于音频搜索条件的搜索系统和搜索方法 | |
CN102047336B (zh) | 用于产生或截除或改变包括至少一个报头部分在内的基于帧的比特流格式文件的方法和设备以及相应数据结构 | |
WO2018120545A1 (zh) | 一种测试音频回路时延的方法及设备 | |
CN100555876C (zh) | 声信号处理装置和方法 | |
CN103843064A (zh) | 在特技模式中播放音频 | |
US20080077263A1 (en) | Data recording device, data recording method, and data recording program | |
US8881045B2 (en) | Method and apparatus for generating prompt information of a mobile terminal | |
CN102047338A (zh) | 优化媒体内容中的搜索功能 | |
CN108305622A (zh) | 一种基于语音识别的音频摘要文本创建方法及其创建装置 | |
CN102169684B (zh) | 一种面向工尺谱乐谱的midi文件产生装置 | |
CN101448094B (zh) | 一种用于快速导入媒体素材的方法 | |
KR20050003457A (ko) | 신호 처리 방법 및 장치 | |
US20080167879A1 (en) | Speech delimiting processing system and method | |
CN103531224B (zh) | 应用于嵌入式系统平台的简易语音播放方法 | |
CN108461086B (zh) | 一种音频的实时切换方法和装置 | |
Zhu | [Retracted] Multimedia Recognition of Piano Music Based on the Hidden Markov Model | |
CN102074239A (zh) | 一种实现声音变速的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |