專利名稱:音頻文件的播放方法及裝置的制作方法
技術領域:
本發明涉及音頻播放領域,尤其涉及音頻文件的播放方法及裝置。
技術背景現有技術中,具有音頻播放功能的實體,如多媒體手機、MP3等,可以對 存儲在其中的音頻文件進行播放或者進行任意位置的定位搜索。音步貞文1牛,長口 MP3 (Moving Picture Experts Group Audio Layer III )、 AAC (Advanced Audio Coding)等類型的音頻文件,其文件結構主要由多幀凄t據來 組成,每幀包含幀頭數據和音頻數據,其中,幀頭數據用來記錄本幀的音頻信 息,如采樣率、聲道模式、每幀長度等;音頻數據為經過特定壓縮算法處理后 的數據。對于音頻文件的播放,主要包括解析和解碼兩個過程,解析是指從音頻文 件所包含幀的幀頭獲取音頻信息;解碼是指將幀中經過壓縮處理的音頻數據還 原成為原始的PCM ( Pulse Code Modulation)數據。參見圖1,現有技術中播放音頻文件時,首先根據文件后綴名初步判斷該 文件的類型,然后根據類型對組成該文件的每一幀進行解析,得到每一幀的音 頻信息,如釆樣率、聲道模式、每幀長度等。通過對整個文件進行解析得到該 文件的采樣率、播放總時長、總幀數等文件信息。解析完成后,開始從第一幀 數據進行解碼播放。對于音頻文件的定位搜索主要包括定位和播放兩個過程,定位是指根據輸 入的搜索命令中的搜索時間,確定起始播放的幀位置;播放過程是指從上述確 定的起始幀位置開始進行音頻數據的解碼播放。
參見圖2,現有技術中對音頻文件進行定位搜索前,需要判斷搜索命令中 搜索時間的有效性,在確定搜索時間有效時,才進行定位搜索的操作。在進行定位搜索時,首先根據搜索時間進行定位,具體方法為從組成音頻文件的第一幀開始進行播放時長的累積,每一幀的播放時長可以從該幀的幀頭數據中獲 得,當到某幀時的累積播放時長大于或等于搜索時間時,將該幀作為起始播放 幀。然后,從該起始播放幀開始進行音頻數據的解碼播放。例如,搜索時間為5s,每一幀的播;故時長為10ms,則到第500幀時的累積纟番放時長為 500*10ms=5s,此時將第500幀作為起始播放幀,并從第500幀開始讀耳又數據 進行解碼播放。在實現本發明的過程中,發明人發現現有技術中至少存在如下技術問題 用戶啟動播放后,要等待一段較長的時間才能聽到音頻聲,響應速度慢, 這是因為播放音頻文件時,在文件解析部分需要讀取并解析組成該文件的所有 幀后,才可以開始播放。當文件較大時,讀取速度較慢,例如,對于一個大小 為4M的MP3音樂文件,被保存在外存儲器如SD ( Secure Digital)卡上,按 1M/S的讀取速度來計算,讀完整個文件需要4S左右的時間,也就是說,用戶 啟動播放后需要等待至少4秒時間才能聽到音樂聲。在每次進行定位搜索時,定位過程都需要從音頻文件的第一幀開始讀取數 據,進行播放時長的累積,直到找到累積時長滿足搜索時間的幀位置。這種通 過從文件的最開始逐幀搜索定位的方法,效率低下,播;故響應速度較慢,當搜 索時間點接近結束時間時,定位過程就需要對整個文件遍歷一遍,對于存放在 慢速設備上的大文件更會耗去大量的時間。發明內容本發明實施例提供音頻文件的播放方法及裝置,用以解決現有技術中音頻 文件的播放響應速度慢的問題。本發明實施例4是供一種音頻文件的纟番;故方法,該方法包括
解析音頻文件的一個或多個數據幀,直至獲得滿足播放此音頻文件的條件的文件播放基本信息;利用所述文件播放基本信息,播放所述音頻文件。 本發明實施例還提供一種音頻文件的播放方法,該方法包括 接收到輸入的待搜索播放位置信息時,根據預先建立并保存的播放位置與幀位置的對應關系,確定所述待搜索播放位置對應的幀位置,并從確定的幀位置開始播放音頻文件。本發明實施例提供一種音頻文件的播放裝置,該裝置包括解析單元,用于解析音頻文件的一個或多個數據幀,直至獲得滿足播放此音頻文件的條件的文件播放基本信息;第一播放單元,用于利用所述文件播放基本信息,播放所述音頻文件。本發明實施例還提供一種音頻文件的播放裝置,該裝置包括 定位搜索單元,用于接收到輸入的待搜索播放位置信息時,根據預先建立并保存的播放位置與幀位置的對應關系,確定所述待搜索播放位置對應的幀位置;第三播放單元,用于從所述確定的幀位置開始播放音頻文件。 本發明實施例的有益效果在于與現有技術相比,本發明實施例中在"t番放音頻文件時,通過解析音頻文件 的一個或多個數據幀,在獲得文件播放基本信息后就開始播J丈音頻文件,大大 提高了音頻文件的播放響應速度。同時,通過預先建立并保存播放位置與幀位 置的對應關系,在定位播放時,可以根據該對應關系快速找到指定的起始播放 位置并從該位置開始播放,大大提高了定位搜索的速度,從而提高了音頻文件 的播放響應速度。
圖1為現有技術中音頻文件的播放流程; 圖2為現有技術中音頻文件的定位搜索流程;
圖3為本發明實施例中音頻文件的播放流程;圖4為本發明實施例中音頻文件的定位搜索流程;圖5為本發明實施例中音頻文件的播放裝置結構示意圖;圖6為本發明實施例中音頻文件的播放裝置結構示意圖。
具體實施方式
為了提高音頻文件播放的響應速度,本發明實施例提供一種音頻文件的播 放方法,本方法中,在通過解析音頻文件的一個或多個數據幀來獲取音頻文件 播放所需的基本信息后,開始解碼播放該音頻文件,在解碼播放音頻文件的同 時,可以繼續對音頻文件進行解析以獲得文件的完整信息。在解析音頻文件的 過程中,可以建立包含播放位置與幀位置對應關系的索引表,該索引表可以供 定位搜索時使用。下面結合附圖對本發明實施例提供的方法進行說明步驟Sl:通過解析音頻文件的一個或多個數據幀,獲得文件播放基本信息;如圖3所示,本步驟包括步驟301-304,具體的步驟301:讀取音頻文件的一數據幀;這里,從音頻文件的第一幀開始讀取,即第一次讀耳又音頻文件的第一幀數 據,以后順次。步驟302:解析讀取的數據幀,獲得文件播放基本信息;這里,通過解析數據幀,從該幀的幀頭數據中獲取需要的文件播放基本信 息,文件播放基本信息為播放音頻文件所必需的信息,對于MP3、 ACC等音 頻文件來說,文件播放基本信息包括采樣率、樣本精度和聲道模式信息。較佳的,可以將獲得的文件播放基本信息進行保存,例如保存在幀索引表 中,以供定位搜索播放時使用。步驟303:判斷是否獲得完全的文件播放基本信息,若是,則到步驟304, 否則,到步驟301,繼續讀取下一數據幀,直到獲得完全的文件播放基本信息。 放基本信息,以供文件解碼播放時使用。 一般來說,通過解析音頻文件的前一幀或前兩幀就可以獲得完全的文件插-放基本信息。步驟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等類型的 音頻文件,還包括歌曲名稱、作詞、作曲、演唱者、樂隊、專輯等制作出版信 息,除基本信息外的這些信息可以用于控制音頻文件播放的結束及支持用戶對12
音頻文件的信息查詢等,例如通過比較當前播放時長與播放總時長、或者比較當前播放幀數與總幀數的關系來控制音頻文件播放的結束;將歌曲名稱、作詞、作曲等音頻文件的相關信息進行輸出顯示。這些信息并不是播放音頻文件所必 須的信息,所以,本發明中可以在獲取到文件播放基本信息后,就進行文件的 解碼播放,達到減小播放等待時間。
本發明中,步驟S2和步驟S3可以并行執行,可以利用系統多任務的特點, 由系統為S2和S3分別調度一個執行進程,這兩個進程并發執行各自的任務, Sl任務會先結束,兩個進程并發的時間在幾秒以內,且不會影響到文件的流暢 播放。
考慮到對音頻文件進行定位搜索的需要,在步驟S3中解析一幀數據后, 獲得該幀的播放時長和幀大小等音頻信息,可以根據這些信息建立播放位置與 幀位置的對應關系,并將建立的對應關系進行保存,例如保存在幀索引表中, 該對應關系具體可以為但不限于播放時間點與幀位置的對應關系,或者幀號 與幀位置的對應關系。具體建立方法如下解析獲得一幀的插-;故時長和幀大小信息后,將該插-;故時長與第一累加時長 相加得到第二累加時長,將該幀大小與第一累加幀大小相加得到第二累加幀大 小。其中,第一累加時長為本幀之前已遍歷過的各幀播放時長之和,第一累加 幀大小為本幀之前已遍歷過的各幀大小之和。顯而易見,對于第一幀,第一累 加時長和第一累加幀大小均為0,對于下一幀,計算使用的第一累加時長和第 一累加幀大小分別為計算上一幀時得到的第二累加時長和第二累加幀大小。
然后,根據計算得到的第二累加時長和第二累加幀大小建立幀索引表,可 以直接在幀索引表中保存第二累加時長與第二累加幀大小的對應關系,這樣, 當遍歷解析完所有幀后,就在幀索引表中保存了每一幀的播放時間點與幀位置 的對應關系;還可以按照預先規定的標記時間點來建立幀索引表,此時需要在 判斷第二累加時長大于或等于預標記時間點時,才保存預標記時間點與第二累 加幀大小的對應關系。比如,每一幀的播;汰時長為150ms,每一幀的幀大小為600字節(Bytes),規定為每個整秒保存幀位置,則在遍歷到第7幀時,計算 得到的第二累加時長為150ms+%0ms=1050ms>l秒,第二累加幀大小為600 Bytes +3600 Bytes =4200 Bytes,則保存播放時間點1秒與幀位置4200 Bytes的 對應關系;同樣,在分別遍歷到第14、 21、 28等幀時,分別為播放時間點2 秒、3秒、4秒等保存插j文時間點與幀位置的對應關系,分別為2秒與8400Bytes、 3秒與12600 Bytes、 4秒與16800 Bytes的對應關系。對于幀號與幀位置對應關系的建立方法,在解析獲得一幀的幀大小信息 后,將該幀大小與第一累加幀大小相加得到第二累加幀大小。其中,第一累加 幀大小為本幀之前已遍歷過的各幀大小之和。同樣,對于第一幀,第一累加幀 大小為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. 通過建立幀索引表,優化了搜索算法,使得對應不同搜索位置的響應
時間都一致,極大提升了搜索播放的響應速度。明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及 其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。
權利要求
1、一種音頻文件的播放方法,其特征在于,該方法包括解析音頻文件的一個或多個數據幀,直至獲得滿足播放此音頻文件的條件的文件播放基本信息;利用所述文件播放基本信息,播放所述音頻文件。
2、 如權利要求1所述的方法,其特征在于,所述解析音頻文件的一個或 多個數據幀,直至獲得滿足播放此音頻文件的條件的文件播放基本信息包括AO.讀取所述音頻文件的數據幀;Al.解析讀取的數據幀,獲得文件播放基本信息;A2.判斷是否獲得完全的文件播放基本信息,若是,則到步驟A3,否貝'J, 到步驟AO,讀取下一數據幀;A3.輸出獲取的文件播放基本信息。
3、 如權利要求1所述的方法,其特征在于,所述文件播i文基本信息至少 包括采樣率、樣本精度和聲道模式信息。
4、 如權利要求1所述的方法,其特征在于,在利用所述文件播放基本信 息,播放所述音頻文件時,該方法進一步包括繼續解析所述音頻文件的數據幀,獲得文件纟番;改完整信息,利用所述文件 播放完整信息控制所述音頻文件播放的結束和輸出所述音頻文件的相關信息。
5、 如權利要求4所述的方法,其特征在于,該方法進一步包括 利用解析獲得的音頻信息,建立并保存播放位置與幀位置的對應關系; 在接收到輸入的待搜索播放位置信息時,根據所述對應關系,確定所述待搜索播放位置對應的幀位置,并從確定的幀位置開始播;改音頻文件。
6、 如權利要求5所述的方法,其特征在于,所述音頻信息包括播放時長 和幀大小信息;所述播放位置包括播放時間點或幀號。
7、 如權利要求6所述的方法,其特征在于,所述利用解析獲得的音頻信 息,建立并保存播放位置與幀位置的對應關系包括解析獲得數據幀的播放時長和幀大小信息后,計算第二累加時長和第二累 加幀大小,計算方法為第二累加時長等于第一累加時長與所述播放時長之和,第二累加幀大小等于第一累加幀大小與所述幀大小之和,所述第一累加時長為所述數據幀之前的所有數據幀的播-;改時長的總和,所述第一累加幀大小為所述 數據幀之前的所有數據幀的幀大小的總和;將所述第二累加時長作為播放時間點,將所述第二累加幀大小作為幀位 置,建立并保存所述播放時間點與所述幀位置的對應關系;或者,在所述第二 累加時長大于或等于當前預標記時間點時,將所述當前預標記時間點作為播放 時間點,將所述第二累加幀大小作為幀位置,建立并保存所述播放時間點與所 述幀位置的對應關系。
8、 一種音頻文件的播放方法,其特征在于,該方法包括 接收到輸入的待搜索播放位置信息時,根據預先建立并保存的播放位置與幀位置的對應關系,確定所述待搜索播放位置對應的幀位置,并從確定的幀位 置開始播放音頻文件。
9、 如權利要求8所述的方法,其特征在于,所述建立并保存播放位置與 幀位置的對應關系包括解析音頻文件的數據幀,獲得數據幀的音頻信息,利用該音頻信息建立并 保存播放位置與幀位置的對應關系。
10、 如權利要求9所述的方法,其特征在于,所述音頻信息包括播放時長 和幀大小信息;所述播放位置包括播放時間點或幀號。
11、 如權利要求10所述的方法,其特征在于,所述利用解析獲得的數據 幀的音頻信息,建立并保存播放位置與幀位置的對應關系包括解析獲得數據幀的播放時長和幀大小信息后,計算第二累加時長和第二累 加幀大小,計算方法為第二累加時長等于第一累加時長與所述播放時長之和, 第二累加幀大小等于第一累加幀大小與所述幀大小之和,所述第一累加時長為所述數據幀之前的所有數據幀的插-;改時長的總和,所述第一累加幀大小為所述 數據幀之前的所有數據幀的幀大小的總和; 將所述第二累加時長作為播放時間點,將所述第二累加幀大小作為幀位置,建立并保存所述播放時間點與所述幀位置的對應關系;或者,在所述第二 累加時長大于或等于當前預標記時間點時,將所述當前預標記時間點作為#^支 時間點,將所述第二累加幀大小作為幀位置,建立并保存所述播放時間點與所 述幀位置的對應關系。
12、 如權利要求8所述的方法,其特征在于,所述從確定的幀位置開始播 放音頻文件具體為利用通過解析所述音頻文件的一個或多個數據幀獲得滿足播放此音頻文 件的條件的文件播放基本信息,從所述確定的幀位置開始播放所述音頻文件。
13、 如權利要求12所述的方法,其特征在于,所述解析音頻文件的一個 或多個數據幀獲得滿足播放此音頻文件的條件的文件播放基本信息包括AO.讀取所述音頻文件的數據幀;Al.解析讀取的數據幀,獲得文件播放基本信息;A2.判斷是否獲得完全的文件播放基本信息,若是,則到步驟A3,否貝'J, 到步驟AO,讀取下一數據幀;A3.輸出獲取的文件播放基本信息。
14、 如權利要求12所述的方法,其特征在于,所述文件插^文基本信息至 少包括釆樣率、樣本精度和聲道模式信息。
15、 如權利要求12所述的方法,其特征在于,在利用所述文件播放基本 信息,播放所述音頻文件時,該方法進一步包括繼續解析所述音頻文件的數據幀,獲得文件播;汰完整信息,利用所述文件 播放完整信息控制所述音頻文件播放的結束和輸出所述音頻文件的相關信息。
16、 一種音頻文件的播放裝置,其特征在于,該裝置包括解析單元,用于解析音頻文件的一個或多個數據幀,直至獲得滿足播放此 音頻文件的條件的文件播放基本信息;第一播放單元,用于利用所述文件播放基本信息,播放所述音頻文件。
17、 如權利要求16所述的裝置,其特征在于,所述解析單元包括 讀取單元,用于讀取所述音頻文件的^t據幀;獲取單元,用于解析讀取單元讀取的數據幀,獲得文件播放基本信息; 判斷單元,用于判斷當前是否獲得完全的文件播放基本信息,若是,則通知輸出單元輸出獲取的文件播放基本信息;否則,通知讀取單元繼續讀取下一數據幀;輸出單元,用于輸出獲取的文件播放基本信息。
18、 如權利要求16所述的裝置,其特征在于,所述文件播放基本信息至 少包括采樣率、樣本精度和聲道模式信息。
19、 如權利要求16所述的裝置,其特征在于,該裝置進一步包括 第二單元,用于在所述第一播放單元播;故音頻文件時,繼續解析所述音頻文件的數據幀,獲得文件播放完整信息;控制單元,用于利用所述文件播放完整信息,控制所述音頻文件播放的結 束和輸出所述音頻文件的相關信息。
20、 如權利要求19所述的裝置,其特征在于,該裝置進一步包括 索引建立單元,用于利用所述解析獲得的音頻信息,建立并保存播放位置與幀位置的對應關系;定位搜索單元,用于在接收到輸入的待搜索播放位置信息時,根據所述對 應關系,確定所述待搜索播放位置對應的幀位置;第二播放單元,用于從所述確定的幀位置開始播放音頻文件。
21、 如權利要求20所述的裝置,其特征在于,所述音頻信息包括播放時 長和幀大小信息;所述播放位置包括播放時間點或幀號。
22、 如權利要求21所述的裝置,其特征在于,所述索引建立單元包括 計算單元,用于在解析獲得數據幀的播放時長和幀大小信息后,計算第二累加時長和第二累加幀大小,所述第二累加時長等于第一累加時長與所述播放 時長之和,第二累加幀大小等于第一累加幀大小與所述幀大小之和,所述第一 累加時長為所述數據幀之前的所有數據幀的播放時長的總和,所述第 一 累加幀大小為所述數據幀之前的所有數據幀的幀大小的總和;保存單元,用于將所述第二累加時長作為播放時間點,將所述第二累加幀 大小作為幀位置,建立并保存所述播放時間點與所述幀位置的對應關系;或者, 在所述第二累加時長大于或等于當前預標記時間點時,將所述當前預標記時間 點作為播放時間點,將所述第二累加幀大小作為幀位置,建立并保存所述播放 時間點與所述幀位置的對應關系。
23、 一種音頻文件的播放裝置,其特征在于,該裝置包括 定位搜索單元,用于接收到輸入的待搜索播放位置信息時,根據預先建立并保存的播放位置與幀位置的對應關系,確定所述待搜索播放位置對應的幀位 置;第三播放單元,用于從所述確定的幀位置開始播放音頻文件。
24、 如權利要求23所述的裝置,其特征在于,該裝置進一步包括 索引建立單元,用于解析音頻文件的數據幀,獲得數據幀的音頻信息,利用該音頻信息建立并保存播》文位置與幀位置的對應關系。
25、 如權利要求24所述的裝置,其特征在于,所述音頻信息包括播放時 長和幀大小信息;所述播放位置包括播放時間點或幀號。
26、 如權利要求25所述的裝置,其特征在于,所述索引建立單元包括 計算單元,用于在解析獲得數據幀的播放時長和幀大小信息后,計算第二累加時長和第二累加幀大小,所述第二累加時長等于第一累加時長與所述播放 時長之和,第二累加幀大小等于第一累加幀大小與所述幀大小之和,所述第一 累加時長為所述數據幀之前的所有數據幀的播放時長的總和,所述第一累加幀 大小為所述數據幀之前的所有數據幀的幀大小的總和;保存單元,用于將所述第二累加時長作為播放時間點,將所述第二累加幀 大小作為幀位置,建立并保存所述播放時間點與所述幀位置的對應關系;或者, 在所述第二累加時長大于或等于當前預標記時間點時,將所述當前預標記時間 點作為播放時間點,將所述第二累加幀大小作為幀位置,建立并保存所述播放 時間點與所述幀位置的對應關系。
27、 如權利要求23所述的裝置,其特征在于,所述第三播放單元為用于 利用文件播放基本信息,從所述確定的幀位置開始播放所述音頻文件的第四播 放單元。
28、 如權利要求27所述的裝置,其特征在于,該裝置進一步包括 解析單元,用于解析音頻文件的一個或多個數據幀,直至獲得滿足播放此音頻文件的條件的文件播放基本信息。
29、 如權利要求28所述的裝置,其特征在于,所述解析單元包括 讀取單元,用于讀取所述音頻文件的數據幀;獲取單元,用于解析讀取單元讀取的數據幀,獲得文件播放基本信息; 判斷單元,用于判斷當前是否獲得完全的文件播放基本信息,若是,則通知輸出單元輸出獲取的文件播放基本信息;否則,通知讀取單元繼續讀取下一數據幀;輸出單元,用于輸出獲取的文件播放基本信息。
30、 如權利要求28所述的裝置,其特征在于,所述文件播放基本信息至 少包括采樣率、樣本精度和聲道模式信息。
31、 如權利要求28所述的裝置,其特征在于,該裝置進一步包括 第二單元,用于在所述第四播放單元播放音頻文件時,繼續解析所述音頻文件的數據幀,獲得文件播放完整信息;控制單元,用于利用所述文件播放完整信息,控制所述音頻文件插-放的結 束和輸出所述音頻文件的相關信息。
全文摘要
本發明實施例公開了一種音頻文件的播放方法,該方法包括解析音頻文件的一個或多個數據幀,直至獲得滿足播放此音頻文件的條件的文件播放基本信息;利用所述文件播放基本信息,播放所述音頻文件。本發明公開了一種音頻文件的定位搜索方法,該方法中,接收到輸入的待搜索播放位置信息時,根據保存的播放位置與幀位置的對應關系,確定所述待搜索播放位置對應的幀位置,并從確定的幀位置開始播放音頻文件。本發明實施例還公開了音頻文件的播放裝置。采用本發明,能夠大大提高音頻文件播放的響應速度。
文檔編號G11B27/10GK101110247SQ20071012968
公開日2008年1月23日 申請日期2007年8月17日 優先權日2007年8月17日
發明者鄧清珊 申請人:華為技術有限公司