多媒體文件讀取方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及多媒體技術(shù)領(lǐng)域,尤其涉及一種多媒體文件讀取方法及裝置。
【背景技術(shù)】
[0002]隨著多媒體技術(shù)的發(fā)展,多媒體技術(shù)領(lǐng)域的各項業(yè)務(wù)也越來越成熟,在多媒體文件的播放過程中,多媒體文件的播放一般由數(shù)據(jù)輸入讀取,數(shù)據(jù)輸入的來源可以是播放器本地的多媒體文件,也可以是網(wǎng)絡(luò)流的多媒體文件?,F(xiàn)在的播放器在播放多媒體文件時,都會先對待播放的多媒體文件建立緩存,然后在所述緩存中讀取多媒體文件,一般情況下,都是在多媒體文件讀取結(jié)束后才清空緩存,并且每次清空都將所有緩存數(shù)據(jù)全部清除。而當用戶播放文件進行拖動操作時,其有可能會需要讀取已播放的數(shù)據(jù),但每一次都需要重新寫入緩存,由此造成重復(fù)寫入。并且,當讀取的多媒體文件是視頻文件時,所需的緩存的容量值也較大,而終端中緩存占用的存儲空間較大,導(dǎo)致終端的運行效率低。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的主要目的在于提出一種多媒體文件讀取方法及裝置,旨在解決多媒體文件讀取過程中,緩存占用的存儲空間較大,導(dǎo)致終端的運行效率低的技術(shù)問題。
[0004]為實現(xiàn)上述目的,本發(fā)明提供的一種多媒體文件讀取方法,所述多媒體文件讀取方法包括以下步驟:
[0005]在檢測到基于多媒體文件的播放界面輸入的播放位置調(diào)整操作時,確定所述調(diào)整操作對應(yīng)的讀取位置是否在環(huán)形緩沖區(qū)內(nèi);
[0006]在所述讀取位置在所述環(huán)形緩沖區(qū)的未讀緩存區(qū)域內(nèi)時,從所述未讀緩存區(qū)域中的所述讀取位置處開始讀取所需數(shù)據(jù);以及
[0007]更新所述環(huán)形緩沖區(qū)中已讀緩存區(qū)域和所述未讀緩存區(qū)域的位置以使已被讀取的所述所需數(shù)據(jù)位于所述已讀緩存區(qū)域內(nèi),當所述已讀緩存區(qū)域?qū)?yīng)的容量大于第一容量時,清除部分數(shù)據(jù)使所述已讀緩存區(qū)域?qū)?yīng)的容量保持為所述第一容量。
[0008]優(yōu)選地,所述在檢測到基于多媒體文件的播放界面輸入的播放位置調(diào)整操作時,確定所述調(diào)整操作對應(yīng)的讀取位置是否在環(huán)形緩沖區(qū)內(nèi)的步驟之后,所述多媒體文件讀取方法還包括:
[0009]在所述讀取位置在所述已讀緩存區(qū)域內(nèi)時,從所述已讀緩存區(qū)域中的所述讀取位置處開始讀取所述所需數(shù)據(jù)。
[0010]優(yōu)選地,所述在檢測到基于多媒體文件的播放界面輸入的播放位置調(diào)整操作時,確定所述調(diào)整操作對應(yīng)的讀取位置是否在環(huán)形緩沖區(qū)內(nèi)的步驟之后,所述多媒體文件讀取方法還包括:
[0011 ] 在所述讀取位置不在所述環(huán)形緩沖區(qū)內(nèi)時,獲取所述讀取位置在所述多媒體文件中的第一位置,以及所述未讀緩存區(qū)域中遠離所述已讀緩存區(qū)域的一端在所述多媒體文件中的第二位置;
[0012]確定所述多媒體文件中第一位置和第二位置之間的第二容量值是否小于第一預(yù)設(shè)容量值;
[0013]若所述第二容量值小于或等于所述第一預(yù)設(shè)容量值,從所述未讀緩存區(qū)域中選取容量為所述第一容量的數(shù)據(jù)替換所述已讀緩存區(qū)域中的數(shù)據(jù);
[0014]刪除所述未讀緩存區(qū)域中的數(shù)據(jù),并在所述環(huán)形緩沖區(qū)內(nèi)的可用存儲空間內(nèi)繼續(xù)寫入所述多媒體文件中第二位置之后的數(shù)據(jù)以更新所述未讀緩存區(qū)域;
[0015]當所述讀取位置位于所述未讀緩存區(qū)域內(nèi)時,從所述未讀緩存區(qū)域的所述讀取位置開始讀取所述所需數(shù)據(jù)。
[0016]優(yōu)選地,所述確定所述多媒體文件中第一位置和第二位置之間的第二容量值是否小于第一預(yù)設(shè)容量值的步驟之后,所述多媒體文件讀取方法還包括:
[0017]若所述第二容量值大于所述第一預(yù)設(shè)容量值,確定所述讀取位置在所述多媒體文件對應(yīng)的存儲位置;
[0018]在多媒體文件對應(yīng)的存儲位置開始直接讀取所述所需數(shù)據(jù)。
[0019]優(yōu)選地,所述多媒體文件讀取方法還包括:
[0020]當所述未讀緩存區(qū)域的數(shù)據(jù)容量小于第二預(yù)設(shè)容量值時,在所述環(huán)形緩沖區(qū)內(nèi)的可用存儲空間內(nèi)繼續(xù)寫入所述多媒體文件中的數(shù)據(jù)以更新所述未讀緩存區(qū)域。
[0021]此外,為實現(xiàn)上述目的,本發(fā)明還提出一種多媒體文件讀取裝置,所述多媒體文件讀取裝置包括:
[0022]確定模塊,用于在檢測到基于多媒體文件的播放界面輸入的播放位置調(diào)整操作時,確定所述調(diào)整操作對應(yīng)的讀取位置是否在環(huán)形緩沖區(qū)內(nèi);
[0023]讀取模塊,用于在所述讀取位置在所述環(huán)形緩沖區(qū)的未讀緩存區(qū)域內(nèi)時,從所述未讀緩存區(qū)域中的所述讀取位置處開始讀取所需數(shù)據(jù);
[0024]處理模塊,用于更新所述環(huán)形緩沖區(qū)中已讀緩存區(qū)域和所述未讀緩存區(qū)域的位置以使已被讀取的所述所需數(shù)據(jù)位于所述已讀緩存區(qū)域內(nèi),當所述已讀緩存區(qū)域?qū)?yīng)的容量大于第一容量時,清除部分數(shù)據(jù)使所述已讀緩存區(qū)域?qū)?yīng)的容量保持為所述第一容量。
[0025]優(yōu)選地,所述讀取模塊還用于在所述讀取位置在所述已讀緩存區(qū)域內(nèi)時,從所述已讀緩存區(qū)域中的所述讀取位置處開始讀取所述所需數(shù)據(jù)。
[0026]優(yōu)選地,所述多媒體文件讀取裝置還包括:
[0027]獲取模塊,用于在所述讀取位置不在所述環(huán)形緩沖區(qū)內(nèi)時,獲取所述讀取位置在所述多媒體文件中的第一位置,以及所述未讀緩存區(qū)域中遠離所述已讀緩存區(qū)域的一端在所述多媒體文件中的第二位置;
[0028]所述確定模塊,還用于確定所述多媒體文件中第一位置和第二位置之間的第二容量值是否小于第一預(yù)設(shè)容量值;
[0029]替換模塊,用于若所述第二容量值小于或等于所述第一預(yù)設(shè)容量值,從所述未讀緩存區(qū)域中選取容量為所述第一容量的數(shù)據(jù)替換所述已讀緩存區(qū)域中的數(shù)據(jù);
[0030]所述處理模塊,還用于刪除所述未讀緩存區(qū)域中的數(shù)據(jù),并在所述環(huán)形緩沖區(qū)內(nèi)的可用存儲空間內(nèi)繼續(xù)寫入所述多媒體文件中第二位置之后的數(shù)據(jù)以更新所述未讀緩存區(qū)域;
[0031]所述讀取模塊,還用于當所述讀取位置位于所述未讀緩存區(qū)域內(nèi)時,從所述未讀緩存區(qū)域的所述讀取位置開始讀取所述所需數(shù)據(jù)。
[0032]優(yōu)選地,所述確定模塊,還用于若所述第二容量值大于所述第一預(yù)設(shè)容量值,確定所述讀取位置在所述多媒體文件對應(yīng)的存儲位置;
[0033]所述讀取模塊,還用于在多媒體文件對應(yīng)的存儲位置開始直接讀取所述所需數(shù)據(jù)。
[0034]優(yōu)選地,所述多媒體文件讀取裝置還包括:
[0035]更新模塊,用于當所述未讀緩存區(qū)域的數(shù)據(jù)容量小于第二預(yù)設(shè)容量值時,在所述環(huán)形緩沖區(qū)內(nèi)的可用存儲空間內(nèi)繼續(xù)寫入所述多媒體文件中的數(shù)據(jù)以更新所述未讀緩存區(qū)域。
[0036]本發(fā)明提出的多媒體文件讀取方法及裝置,在預(yù)設(shè)的環(huán)形緩沖區(qū)內(nèi)讀取多媒體文件數(shù)據(jù),且當讀取位置在所述環(huán)形緩沖區(qū)的未讀緩存區(qū)域內(nèi)時,從所述未讀緩存區(qū)域的讀取位置處開始讀取所需數(shù)據(jù),并在讀取所需數(shù)據(jù)時更新所述環(huán)形緩沖區(qū)中已讀緩存區(qū)域和所述未讀緩存區(qū)域的位置使已被讀取的所述所需數(shù)據(jù)位于所述已讀緩存區(qū)域內(nèi),當所述已讀緩存區(qū)域?qū)?yīng)的容量大于第一容量時,清除部分數(shù)據(jù)使其所述已讀緩存區(qū)域?qū)?yīng)的容量保持為第一容量,而不是在多媒體文件讀取過程中,把多媒體文件數(shù)據(jù)讀取完才清空緩存,本方案在所述環(huán)形緩沖區(qū)中讀取多媒體文件數(shù)據(jù)時,通過邊緩存多媒體文件數(shù)據(jù)邊清空先緩存的部分多媒體文件數(shù)據(jù),減小了緩存占用的存儲空間,提高了終端的運行效率。
【附圖說明】
[0037]圖1為本發(fā)明多媒體文件讀取方法第一實施例的流程示意圖;
[0038]圖2為本發(fā)明多媒體文件讀取方法第二實施例的流程示意圖;
[0039]圖3為本發(fā)明多媒體文件讀取方法第三實施例的流程示意圖;
[0040]圖4為本發(fā)明多媒體文件讀取裝置第一實施例的功能模塊示意圖;
[0041]圖5為本發(fā)明多媒體文件讀取裝置第二實施例的功能模塊示意圖。
[0042]本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
【具體實施方式】
[0043]應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0044]本發(fā)明提供一種多媒體文件讀取方法。
[0045]參照圖1,圖1為本發(fā)明多媒體文件讀取方法第一實施例的流程示意圖。
[0046]本實施例提出一種多媒體文件讀取方法,所述多媒體文件讀取方法包括:
[0047]步驟S10,在檢測到基于多媒體文件的播放界面輸入的播放位置調(diào)整操作時,確定所述調(diào)整操作對應(yīng)的讀取位置是否在環(huán)形緩沖區(qū)內(nèi);
[0048]在本實施例中,所述步驟SlO之前,包括步驟:在接收到多媒體文件的讀取指令時,獲取預(yù)設(shè)的環(huán)形緩沖區(qū)中可用存儲空間對應(yīng)的第三容量值,并寫入與所述第三容量值對應(yīng)的所需數(shù)據(jù)。所述多媒體文件的讀取指令的觸發(fā)方式包括:a、用戶在所述多媒體文件的播放界面點擊開始播放時,觸發(fā)所述多媒體文件的讀取指令。b、在所述多媒體文件的播放界面接收到輸入的語音播放指令如語音播報開始播放時,觸發(fā)所述多媒體文件的讀取指令??梢岳斫獾氖?,本實施例中事先創(chuàng)建環(huán)形緩沖區(qū),所述環(huán)形緩沖區(qū)的存儲空間根據(jù)具體需要進行設(shè)置,如多媒體文件為音頻文件時,所述環(huán)形緩沖區(qū)的存儲空間可設(shè)置為1M,所述多媒體文件為視頻文件時,所述環(huán)形緩沖區(qū)的存儲空間可設(shè)置為30M,所述多媒體文件為圖片文件時,所述環(huán)形緩沖區(qū)的存儲空間可設(shè)置為200K。其中,所述環(huán)形