本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體而言,涉及一種音頻文件的壓縮方法和裝置。
背景技術(shù):
:文件的大小影響文件的傳輸時間。為了減小文件的存儲空間,減少文件的網(wǎng)絡(luò)傳輸時間,便于文件的存放和下載,通常對文件執(zhí)行壓縮,比如,對音頻文件執(zhí)行壓縮。目前,在線點播使用的有損音頻編碼為高級音頻編碼(AdvancedAudioCoding,簡稱為AAC)的音頻格式、動態(tài)影像專家壓縮標準音頻層面3(MovingPictureExpertsGroupAudioLayerⅢ,簡稱為MP3)的音頻格式、音頻壓縮格式(OGGVorbis,簡稱為OGG)、音頻格式OPUS等。圖1是根據(jù)相關(guān)技術(shù)中的音頻格式各碼率質(zhì)量對比的示意圖。音頻中的碼率,也即,音頻的比特率,為音頻的模擬信號轉(zhuǎn)化為數(shù)字信號之后單位時間內(nèi)的二進制數(shù)據(jù)量。如圖1所示,橫坐標表示音頻文件的大小,單位為k,縱坐標表示不同大小的音頻文件在不同音頻格式下的碼率,也即,在不同大小的音頻文件下,四條曲線分別表示OPUS的碼率曲線,ACC的碼率曲線,MP3的碼率曲線,OGG的碼率曲線,OPUS的碼率曲線和AAC的碼率曲線在MP3的碼率曲線和OGG的碼率曲線之上。碼率用于衡量音頻文件的質(zhì)量,音頻格式的碼率越高,音頻格式對應的音頻文件的音頻質(zhì)量 就越好,因此,OPUS音頻格式和AAC音頻格式分別對應的音頻質(zhì)量高于MP3音頻格式和OGG音頻格式分別對應的音頻質(zhì)量。表1不同音頻格式的平臺支持度表1是不同音頻格式的平臺支持度。如表1所示,對于Android系統(tǒng)平臺,支持ACC音頻格式、MP3音頻格式、OGG音頻格式,但是不支持OPUS音頻格式;對于IOS系統(tǒng)平臺,支持ACC音頻格式、MP3音頻格式,但是不支持OGG音頻格式和OPUS音頻格式;對于Chrome瀏覽器,支持AAC音頻格式,MP3音頻格式,OGG音頻格式和OPUS音頻格式;對于蘋果計算機的最新操作系統(tǒng)中的Safari瀏覽器平臺,支持ACC音頻格式,MP3音頻格式,但是不支持OGG音頻格式和OPUS音頻格式;對于網(wǎng)頁瀏覽器(InternetExplorer,簡稱為IE)平臺支持ACC音頻格式,MP3音頻格式,但是不支持OGG音頻格式和OPUS音頻格式,因此,ACC音頻格式和MP3音頻格式在各個平臺上的兼容度比較好,ACC音頻格式對音頻文件進行編碼的效果最佳。ACC音頻格式的編碼出現(xiàn)于1997年,是動態(tài)圖像專家組(Moving PictureExpertsGroup,簡稱為MPEG)中的MPEG-2音頻編碼技術(shù),由FraunhoferIIS、杜比實驗室、AT&T、Sony等公司共同開發(fā),以取代MP3格式。2000年,在MPEG-4標準出現(xiàn)之后,ACC重新集成了MPEG-4標準的特性,加入了音頻編碼增強算法SBR技術(shù)和為圖圖像處理軟件PS技術(shù),又稱為MPEG-4AAC。目前,在互聯(lián)網(wǎng)中采用AAC音頻格式對音頻文件編碼,最終輸出格式為M4A格式的音頻文件。但是,通過MPEG4生成的音頻文件的頭部文件過大,比如,播放時間為20分鐘的音頻文件大概有100K的頭部文件,播放時間為40分鐘的音頻文件有200K的頭部文件,音頻文件的頭部文件隨著音頻文件的播放時間的增長而變大,這樣直接增長了音頻文件加載到播放器的加載時間。針對上述由于音頻文件的頭部文件過大而導致音頻文件的加載時間長的問題,目前尚未提出有效的解決方案。技術(shù)實現(xiàn)要素:本發(fā)明實施例提供了一種音頻文件的壓縮方法和裝置,以至少解決由于音頻文件的頭部文件過大而導致音頻文件的加載時間長的技術(shù)問題。根據(jù)本發(fā)明實施例的一個方面,提供了一種音頻文件的壓縮方法,包括:獲取原始音頻文件;解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件,其中,數(shù)據(jù)文件為壓縮過的文件;通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,得到壓縮頭部文件;通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件。根據(jù)本發(fā)明實施例的另一方面,還提供了音頻文件的壓縮裝置,包括:獲取單元,用于獲取原始音頻文件;解析單元,用于解析原始音頻文件, 得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件,其中,數(shù)據(jù)文件為壓縮過的文件;壓縮單元,用于通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,得到壓縮頭部文件;生成單元,通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件。在本發(fā)明實施例中,采用獲取原始音頻文件;解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件;通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,得到壓縮頭部文件;通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件,達到了對原始音頻文件的頭部文件執(zhí)行壓縮的目的,減少了原始音頻文件的存儲空間,從而實現(xiàn)降低音頻文件的加載時間的技術(shù)效果,進而解決了由于音頻文件的頭部文件過大而導致音頻文件的加載時間長的技術(shù)問題。附圖說明此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:圖1是根據(jù)相關(guān)技術(shù)中的音頻格式各碼率質(zhì)量對比的示意圖;圖2是根據(jù)本發(fā)明實施例的一種音頻文件的壓縮方法的計算機終端的硬件結(jié)構(gòu)框圖;圖3是根據(jù)本發(fā)明實施例的音頻文件的壓縮方法的流程圖;圖4是根據(jù)本發(fā)明實施例的通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮的方法的流程圖;圖5是根據(jù)本發(fā)明實施例的通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件的方法的流程圖;圖6是根據(jù)本發(fā)明實施例的對音頻文件執(zhí)行壓縮的示意圖;圖7是根據(jù)本發(fā)明實施例的音頻文件的壓縮裝置的示意圖;圖8是根據(jù)本發(fā)明實施例的一種可選地音頻文件的壓縮裝置的示意圖;圖9是根據(jù)本發(fā)明實施例的一種可選地音頻文件的壓縮裝置的示意圖;圖10是根據(jù)本發(fā)明實施例的一種可選地音頻文件的壓縮裝置的示意圖;以及圖11是根據(jù)本發(fā)明實施例的一種計算機終端的結(jié)構(gòu)框圖。具體實施方式為了使本
技術(shù)領(lǐng)域:
的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤4送?,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。實施例1根據(jù)本發(fā)明實施例,提供了一種音頻文件的壓縮方法的實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某 些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。本申請實施例一所提供的方法實施例可以在移動終端、計算機終端或者類似的運算裝置中執(zhí)行。以運行在計算機終端上為例,圖2是根據(jù)本發(fā)明實施例的一種音頻文件的壓縮方法的計算機終端的硬件結(jié)構(gòu)框圖。如圖2所示,計算機終端10可以包括一個或多個(圖中僅示出一個)處理器102(處理器102可以包括但不限于微處理器MCU或可編程邏輯器件FPGA等的處理裝置)、用于存儲數(shù)據(jù)的存儲器104、以及用于通信功能的傳輸模塊106。本領(lǐng)域普通技術(shù)人員可以理解,圖2所示的結(jié)構(gòu)僅為示意,其并不對上述電子裝置的結(jié)構(gòu)造成限定。例如,計算機終端10還可包括比圖2中所示更多或者更少的組件,或者具有與圖2所示不同的配置。存儲器104可用于存儲應用軟件的軟件程序以及模塊,如本發(fā)明實施例中的音頻文件的壓縮方法對應的程序指令/模塊,處理器102通過運行存儲在存儲器104內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應用以及數(shù)據(jù)處理,即實現(xiàn)上述的音頻文件的壓縮方法。存儲器104可包括高速隨機存儲器,還可包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器104可進一步包括相對于處理器102遠程設(shè)置的存儲器,這些遠程存儲器可以通過網(wǎng)絡(luò)連接至計算機終端10。上述網(wǎng)絡(luò)的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。傳輸裝置106用于經(jīng)由一個網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡(luò)具體實例可包括計算機終端10的通信供應商提供的無線網(wǎng)絡(luò)。在一個實例中,傳輸裝置106包括一個網(wǎng)絡(luò)適配器(NetworkInterfaceController,簡稱為NIC),其可通過基站與其他網(wǎng)絡(luò)設(shè)備相連從而可與互聯(lián)網(wǎng)進行通訊。在一個實例中,傳輸裝置106可以為射頻(RadioFrequency,簡稱為RF)模塊,其用于通過無線方式與互聯(lián)網(wǎng)進行通訊。在上述運行環(huán)境下,本申請?zhí)峁┝巳鐖D3所示的音頻文件的壓縮方法。圖3是根據(jù)本發(fā)明實施例一的音頻文件的壓縮方法的流程圖。圖3是根據(jù)本發(fā)明實施例的音頻文件的壓縮方法的流程圖。如圖3所示,該音頻文件的壓縮方法的一種可選的方案包括如下步驟:步驟S32,獲取原始音頻文件。在本申請上述步驟S32提供的方案中,原始音頻文件攜帶音頻數(shù)據(jù),通過終端的軟件程序?qū)σ纛l數(shù)據(jù)進行處理,進而播放音頻文件。可選地,從數(shù)據(jù)庫中獲取終端需要播放的原始音頻文件。本發(fā)明實施例的原始音頻文件可以在數(shù)據(jù)庫中用多個字段來表示,通過容器box存儲字段數(shù)據(jù),比如,通過sizeboxes容器存儲原始音頻文件的字段數(shù)據(jù)。容器box包含了原始音頻文件的樣本數(shù)和每個樣本中包含的對原始音頻文件的采樣點數(shù)的大小,通過樣本數(shù)和每個樣本中采樣點數(shù)的大小使原始音頻文件的音頻數(shù)據(jù)分解出數(shù)據(jù)幀。原始音頻文件的數(shù)據(jù)中總的樣本數(shù)與容器box中的樣本數(shù)一致??蛇x地,有兩種不同大小的容器box,一種容器box是用固定32位字段表示原始音頻文件中每個樣本的大小,在音軌track上定義所有樣本的大小相同,其中,在載體上記錄音頻信號的通路為音軌track;另一種容器box是在每個樣本的尺寸變化都很小的情況下,可以使用小的字段。表2字段屬性字段長度(字節(jié))描述尺寸4容器box的字節(jié)數(shù)類型4“stsz”版本10標識30采樣大小4采樣的樣本的大小采樣數(shù)量4track中的樣本的數(shù)量采樣字節(jié)數(shù)4*采樣數(shù)量每個采樣的字節(jié)數(shù)表2是字段屬性,如表2所示,字段為尺寸,長度為4個字節(jié),其中,這4個字節(jié)為整個容器box的字節(jié);字段為類型,長度為4個字節(jié),其中,容器的名稱為“stsz”;字段為版本,長度為1個字節(jié),其中,版本為0;字段為標志,長度為3個字節(jié),其中,標志為0;字段為采樣大小,長度為4個字節(jié),其中,通過采樣大小可以得出原始音頻文件的每個樣本中包含的采樣點數(shù)的大小;字段為采樣數(shù)量,長度為4個字節(jié),可以通過采樣數(shù)量得出原始音頻文件在音軌track上定義的樣本的數(shù)量;字段為entry_size,長度為4*采樣數(shù)量,可以得到每個樣本的字節(jié)數(shù)。本發(fā)明實施例通過獲取原始音頻文件的字段,得到原始音頻文件的尺寸、類型、版本、標識、采樣大小、采樣數(shù)量和每個樣本的字節(jié)數(shù),從而確定需要終端播放的音頻文件。步驟S34,解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件,其中,數(shù)據(jù)文件為壓縮過的文件。在本申請上述步驟S34提供的方案中,在獲取原始音頻文件之后,解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件,其中,原始音頻文件的數(shù)據(jù)文件為壓縮過的文件。原始音頻文件包括原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件,在本申請上述步驟S32提供的方案中,獲取原始音頻文件,也即,獲取包括頭部文件和數(shù)據(jù)文件的音頻文件。原始音頻文件的頭部文件是音頻文件的一部分,承擔音頻文件一定任務的數(shù)據(jù),決定音頻文件在播放時音頻數(shù)據(jù)加載的時間和音頻數(shù)據(jù)緩沖的速度,也即,原始音頻文件的頭部文件決定在啟動音頻文件的播放程序時音頻文件的載入時間,原始音頻文件的頭部文件越大,啟動音頻文件的播放程序時音頻文件的載入時間越長,原始音頻文件的頭部文件越小,啟動音頻文件的播放程序時音頻文件的載入時間越短。原始音頻文件的頭部文 件位于原始音頻文件的開頭,占用音頻文件的前幾個字節(jié),可以用于描述原始音頻文件的一些重要屬性,比如,原始音頻文件的文件標識、原始音頻文件的頭部文件的長度等重要屬性,使與原始音頻文件軟件的格式相對應的軟件程序根據(jù)音頻文件的這些重要屬性打開并處理音頻文件。本發(fā)明實施例的原始音頻文件的頭部文件存在大量重復數(shù)據(jù)和無用數(shù)據(jù)。在原始音頻文件的頭部文件的多個字段中,采樣的音頻數(shù)據(jù)為采樣點,采樣的音頻數(shù)據(jù)的數(shù)據(jù)量為采樣點數(shù)??蛇x地,在原始音頻文件的頭部文件中,通過線性編碼調(diào)制(PulseCodeModulation,簡稱為PCM)編碼的采樣點數(shù)在千萬數(shù)量級,或者更大的采樣數(shù)量,也即,音軌track中的樣本的數(shù)量很大,在進行數(shù)據(jù)存儲、數(shù)據(jù)傳輸和數(shù)據(jù)處理時存在較大的冗余。原始音頻文件的頭部文件中,每個采樣點用四個字節(jié)表示,其中,四個字節(jié)中的部分字節(jié)是相同的。通過步驟S32獲取原始音頻文件,可以獲取到原始音頻文件的頭部文件的文件標識、原始音頻文件的頭部文件的長度??蛇x地,解析原始音頻文件是通過預分析原始音頻文件的頭部文件的文件標識和原始音頻文件的頭部文件的長度以確定原始音頻文件的頭部文件,再按照原始音頻文件的頭部文件的字節(jié)數(shù)將原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件分離開,從而得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件。上述解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件的方式僅為本發(fā)明的優(yōu)選實施例,并不代表本發(fā)明實施例的音頻文件的壓縮方法僅包括上述解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件的方式。為了提高解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件的效率,本發(fā)明實施例還可以包括其他能夠解析原始音頻文件的方式,此處不再一一舉例。本發(fā)明實施例中的原始音頻文件的數(shù)據(jù)文件是壓縮過的數(shù)據(jù)文件,原始音頻文件采用PCM編碼,通過對連續(xù)變化的模擬音頻信號進行抽樣、 量化以及編碼產(chǎn)生數(shù)字音頻信號,得到原始數(shù)字音頻信號流。利用原始數(shù)字音頻信號流中的某些不敏感成分的特性,通過去除音頻數(shù)據(jù)信號中不能被人耳感知,或者大量重復的冗余信號對原始數(shù)字音頻信號流執(zhí)行壓縮,得到壓縮的數(shù)字音頻信號流,壓縮的數(shù)字音頻信號流可以用mdat字段表示。雖然原始數(shù)字音頻信號流在壓縮過程中損失部分音頻數(shù)據(jù),壓縮的數(shù)字音頻信號流與原始數(shù)字音頻信號流中的音頻數(shù)據(jù)不同,不能完全恢復原始音頻文件的數(shù)據(jù),但是壓縮的數(shù)字音頻信號流與原始數(shù)字音頻信號流中的音頻數(shù)據(jù)非常接近。在原始數(shù)字音頻信號流不損失有用音頻數(shù)據(jù),或者在損失的音頻數(shù)據(jù)可以忽略的情況下,對原始數(shù)字音頻信號流執(zhí)行壓縮編碼,從而得到壓縮的數(shù)字音頻信號流,減少了原始音頻文件占用的內(nèi)存容量,保證了原始數(shù)字音頻信號流在聽覺方面不產(chǎn)生失真的情況下,對原始音頻數(shù)據(jù)信號進行盡可能大的壓縮。步驟S36,通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,得到壓縮頭部文件。在本申請上述步驟S36提供的方案中,在解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件之后,對原始音頻文件的頭部文件執(zhí)行壓縮,去除原始音頻文件的冗余數(shù)據(jù)。計算機處理的信息以二進制數(shù)據(jù)表示的,通過預設(shè)的壓縮算法將二進制信息中相同的字符串以特殊字符進行標記,通過合理的數(shù)學計算公式,對原始音頻文件的頭部文件執(zhí)行壓縮,得到壓縮頭部文件??蛇x地,對原始音頻文件的頭部文件執(zhí)行壓縮包括對原始音頻文件的頭部文件執(zhí)行有損壓縮和無損壓縮。對原始音頻文件的頭部文件執(zhí)行有損壓縮,也即,當頭部文件的個別數(shù)據(jù)丟失對頭部文件不會造成太大影響時,可以忽略對原始音頻文件的頭部文件影響不大的數(shù)據(jù),對原始音頻文件的頭部文件執(zhí)行壓縮,從而得到原始音頻文件的頭部文件的壓縮頭部文件;對原始音頻文件的頭部文件進行無損壓縮,也即,原始音頻文件的頭部文件在通過預設(shè)壓縮算法執(zhí)行壓縮的過程中,壓縮數(shù)據(jù)必須準確無誤,從而 得到原始音頻文件的頭部文件的壓縮頭部文件,比如,得到zip、rar無損壓縮格式的壓縮頭部文件。可選地,壓縮頭部文件的大小與原始音頻文件的頭部文件的文件類型、文件大小、壓縮方案、獲取的壓縮參數(shù)有關(guān),通過確定原始音頻文件的頭部文件的文件類型、文件大小、壓縮方案、獲取的壓縮參數(shù)從而達到對原始音頻文件的頭部文件進行執(zhí)行壓縮的目的。本發(fā)明實施例通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,得到壓縮頭部文件,減小了原始音頻文件的頭部文件的大小。在加載音頻文件時,通過壓縮的頭部文件降低了音頻文件加載的時間,提高了音頻文件緩沖的速度。步驟S38,通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件。在本申請上述步驟S38提供的方案中,在通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,得到壓縮頭部文件之后,通過原始音頻文件的壓縮頭部文件和原始音頻文件的數(shù)據(jù)文件生成壓縮音頻文件??蛇x地,合并原始音頻文件的壓縮頭部文件和原始音頻文件的數(shù)據(jù)文件,從而生成壓縮音頻文件。壓縮音頻數(shù)據(jù)文件包括壓縮頭部文件和原始音頻文件的數(shù)據(jù)文件,原始音頻文件的數(shù)據(jù)文件,也即,壓縮音頻文件的數(shù)據(jù)文件。通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件,可以提高音頻文件的下載速度,降低音頻文件在終端的緩沖時間。通過上述步驟S32至步驟S38,本發(fā)明提供的方案可以實現(xiàn)通過獲取原始音頻文件,然后對解析原始音頻文件進行解析,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件,對原始音頻文件的頭部文件通過預設(shè)壓縮算法執(zhí)行壓縮,從而得到壓縮頭部文件,減小了原始音頻文件的頭部文件的大小,并且通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件,降低了播放壓縮音頻文件時音頻文件加載的時間,提高了音頻文件緩沖的速度,進而解決了由于音頻文件的頭部文件過大而導致音頻文件的加載時間長的技術(shù)問題。作為一種可選的實施方式,本申請步驟S36通過預設(shè)壓縮算法對頭部 文件執(zhí)行壓縮。預設(shè)壓縮算法為對原始音頻文件的頭部文件中的多個字段進行處理,可以通過壓縮軟件中的壓縮程序?qū)υ家纛l文件的頭部文件執(zhí)行壓縮,比如,通過WinZip壓縮軟件,或者WinRar壓縮軟件對原始音頻文件的頭部文件執(zhí)行壓縮,其中,WinZip壓縮軟件,或者WinRar壓縮軟件將其支持的格式的音頻文件的頭部文件進行壓縮。圖4是根據(jù)本發(fā)明實施例的通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮的方法的流程圖。如圖4所示,該通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮的方法包括以下步驟:步驟S402,獲取頭部文件的多個字段,其中,多個字段中的部分字段相同。原始音頻文件的頭部文件包括多個字段。在本申請步驟S34解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件之后,獲取原始音頻文件的頭部文件的多個字段。原始音頻文件的多個字段中的部分字段是相同的。可選地,原始音頻文件的多個字段中的部分字段通過字節(jié)表示的頭部文件的內(nèi)容相同。步驟S404,對多個字段中相同的字段執(zhí)行壓縮,得到壓縮字段。在獲取頭部文件的多個字段之后,提取頭部文件中多個字段中相同的字段,將多個字段中相同的字段執(zhí)行壓縮。可選地,在描述原始音頻文件的頭部文件的字段中,每個音頻數(shù)據(jù)的采樣點用四個字節(jié)表示,其中,四個字節(jié)中有兩個字節(jié)為0x0000,為無效字節(jié),可以將無效字節(jié)去掉,得到壓縮頭部文件,理論的頭部文件的壓縮率為50%。頭部文件的壓縮率為壓縮后的文件的頭部文件的大小與原始音頻文件的頭部文件的大小之比??蛇x地,對原始音頻文件的頭部文件中的相同的字段執(zhí)行有損壓縮,也即,當頭部文件的個別相同的字段丟失對頭部文件不會造成太大影響時,可以忽略頭部文件的個別相同的字段,從而得到原始音頻文件的頭部文件的壓縮頭部文件。可選地,對頭部文件的個別相同的字段進行無損壓 縮,也即,頭部文件的個別相同的字段在通過預設(shè)壓縮算法執(zhí)行壓縮的過程中,頭部文件的個別相同的字段必須準確無誤,從而得到原始音頻文件的頭部文件的壓縮頭部文件。步驟S406,獲取多個字段中的未壓縮字段。原始音頻文件的頭部文件中不相同的字段為有效字段,未進行處理,也即,原始音頻文件的頭部文件中不相同的字段未執(zhí)行壓縮。在對原始音頻文件中的多個字段中相同的字段執(zhí)行壓縮之后,獲取多個字段中的未壓縮字段??蛇x地,未壓縮的字段所表示的尺寸,或者類型,或者版本,或者標識,或者采樣大小,或者采樣數(shù)量,或者每個采樣的字節(jié)數(shù)不變。步驟S408,合并壓縮字段和未壓縮字段,得到壓縮頭部文件。在獲取多個字段中的未壓縮字段之后,合并壓縮字段和未壓縮字段,得到壓縮頭部文件。該壓縮頭部文件與原始音頻文件的頭部文件相比,允許損失一定的信息,壓縮頭部文件的音頻數(shù)據(jù)與原始音頻文件的頭部文件的數(shù)據(jù)雖然不同,不能完全恢復原始音頻文件的音頻數(shù)據(jù),但是經(jīng)過壓縮、解壓的頭部文件與原始音頻文件的頭部文件非常接近,所損失的頭部文件的信息對原始音頻文件的頭部文件的影響小。該壓縮頭部文件也可以是準確無誤保留原始音頻文件的頭部文件的信息,也即,壓縮頭部文件的字段所表示的尺寸,或者類型,或者版本,或者標識,或者采樣大小,或者采樣數(shù)量,或者每個采樣的字節(jié)數(shù)不變。該實施例獲取原始音頻文件的頭部文件的字段,頭部文件的字段中包括多個相同的字段,對多個相同的字段執(zhí)行壓縮,得到壓縮字段,然后獲取原始音頻文件頭部文件的字段中的未壓縮字段,最后合并壓縮字段和未壓縮字段,得到壓縮頭部文件,實現(xiàn)了對頭部文件執(zhí)行壓縮的目的。作為一種可選的實施方式,本申請步驟S38通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件。該壓縮頭部文件是通過本申請步驟S36通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,得到的壓縮頭部文件,該壓縮音頻文件的 格式與壓縮原始音頻文件的頭部文件的方法和壓縮原始音頻文件的數(shù)據(jù)文件的方法有關(guān),比如,壓縮音頻文件的格式為zip、rar格式的壓縮音頻文件。圖5是根據(jù)本發(fā)明實施例的通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件的方法的流程圖。如圖5所示,該通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件的方法包括以下步驟:步驟S502,獲取壓縮頭部文件的文件標識。獲取原始音頻文件的壓縮頭部文件的文件標識,該壓縮頭部文件的文件標識表示通過預設(shè)壓縮算法對原始音頻文件的頭部文件所執(zhí)行的壓縮過程。在終端接收到音頻數(shù)據(jù)文件時,通過該壓縮頭部文件的文件標識確定對壓縮音頻文件執(zhí)行解壓的后臺算法,以及開始對壓縮頭部文件執(zhí)行解壓。步驟S504,獲取壓縮頭部文件的長度。在本申請步驟S36通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,得到壓縮頭部文件之后,壓縮頭部文件的長度也就確定,也即,壓縮頭部文件的字節(jié)數(shù)確定。通過壓縮頭部文件所占用的字節(jié)數(shù)獲取壓縮頭部文件的長度。步驟S506,合并壓縮頭部文件的文件標識,壓縮頭部文件的長度,壓縮頭部文件和數(shù)據(jù)文件,得到壓縮音頻文件。在獲取壓縮頭部文件的文件標識、獲取壓縮頭部文件的長度之后,合并壓縮頭部文件的文件標識,壓縮頭部文件的長度,壓縮頭部文件和數(shù)據(jù)文件,得到壓縮音頻文件。該壓縮音頻文件降低了音頻文件的存儲空間。該實施例通過獲取壓縮頭部文件的文件標識,然后獲取壓縮頭部文件的長度,合并壓縮頭部文件的文件標識,壓縮頭部文件的長度,壓縮頭部文件和數(shù)據(jù)文件,得到壓縮音頻文件,從而通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件,達到了降低音頻文件的加載時間的效果。作為一種可選的實施例,在本申請步驟S38通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件之后,該實施例的音頻文件的壓縮方法還包括:發(fā)送壓縮音頻文件至終端,其中,終端用于根據(jù)壓縮頭部文件的文件標識和壓縮頭部文件的長度對壓縮頭部文件執(zhí)行解壓,得到解壓頭部文件,并加載解壓頭部文件,根據(jù)解壓頭部文件播放數(shù)據(jù)文件??蛇x地,本申請步驟S32至步驟S38由服務器端執(zhí)行,在本申請步驟S38通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件之后,發(fā)送壓縮音頻文件至終端,該壓縮音頻文件是通過壓縮頭部文件和數(shù)據(jù)文件生成的壓縮音頻文件,該壓縮音頻文件包括文件標識、壓縮頭部文件的長度、壓縮頭部文件和數(shù)據(jù)文件,終端查找到壓縮頭部文件的文件標識后,確定解壓壓縮頭部文件的后臺算法,并且通過壓縮頭部文件的長度對壓縮頭部文件執(zhí)行解壓,得到解壓頭部文件,并加載解壓頭部文件,終端根據(jù)解壓頭部文件播放數(shù)據(jù)文件。本發(fā)明實施例在通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件之后,將壓縮音頻文件發(fā)送至終端,終端在接收到該壓縮音頻文件之后,對該壓縮音頻文件按照后臺算法執(zhí)行解壓,加載壓縮頭部文件。其中,終端對壓縮音頻文件執(zhí)行解壓的算法與對頭部文件執(zhí)行壓縮的預設(shè)壓縮算法相對應。終端在加載完壓縮頭部文件之后,播放壓縮音頻文件的數(shù)據(jù)文件。舉例而言,對于播放時間為40分鐘、頭部文件為200K的原始音頻文件,采集大量原始音頻文件的樣本,解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件,然后通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,得到壓縮頭部文件,再通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件,并且在無線保真(Wireless-Fidelity,簡稱為WI-FI)網(wǎng)絡(luò)下將壓縮音頻文件發(fā)送至終端,終端下載該原始音頻文件從耗時1s降低至200ms,在第三代(ThirdGeneration,簡稱為3G)移動通訊網(wǎng)絡(luò)下,下載該音頻文件從耗時4s降低至1s,從而提高了原始音頻文件的下載效率。本發(fā)明實施例的終端可以為企鵝FM電臺。企鵝FM電臺在對壓縮音頻文件進行首次緩沖時,緩沖的速度大大提升。終端也可以是其它播放音頻文件的播放器,比如,酷狗音樂播放器、QQ音樂播放器、多米播放器等,終端也可以為客戶端瀏覽器。作為一種可選的實施例,該實施例的原始音頻文件的格式為M4A格式。在MPEG-4標準中,普通的MPEG-4文件擴展名為“.mp4”。蘋果公司在數(shù)字媒體播放程序iTunes以及便攜式多功能數(shù)字多媒體播放器iPod中使用“.m4a”,從而區(qū)別MPEG-4的視頻和音頻文件,幾乎所有支持MPEG-4音頻的軟件都可以支持文件擴展名為“.m4a”的音頻文件。M4A格式的音頻文件的“.m4a”擴展名是MPEG-4音頻標準的文件的擴展名,可以利用很窄的帶寬,通過數(shù)據(jù)幀重建、數(shù)據(jù)壓縮,從而以最少的音頻數(shù)據(jù)獲得最佳的音頻文件,可選地,M4A格式的音頻文件通過ACC音頻格式進行編碼,可以將普通的“.mp4”音頻文件修改為“.m4a”的音頻文件。作為一種可選的實施例,該實施例的預設(shè)壓縮算法為GZIP壓縮算法。GZIP壓縮算法是GNU自由軟件的文件壓縮程序。可選地,在通過網(wǎng)絡(luò)傳輸文件音頻文件時,將原始音頻文件通過GZIP壓縮算法對原始音頻文件的頭部文件執(zhí)行壓縮,減少了原始音頻文件的存儲空間,且減少了網(wǎng)絡(luò)傳輸音頻數(shù)據(jù)的數(shù)據(jù)量,提高了音頻文件的傳輸速度,進而提高了終端加載音頻文件的速度,提高了音頻文件的播放速度。圖6是根據(jù)本發(fā)明實施例的對音頻文件執(zhí)行壓縮的示意圖。如圖6所示,該原始音頻文件的文件擴展名為“.mp4”。該原始音頻文件的字段的名稱分別為“Ftypebox”,“Moovbox”,“Mdatbox”,其中,“Ftypebox”字段和“Moovbox”字段組成原始音頻文件的頭部文件,“Mdatbox”為原始音頻文件的數(shù)據(jù)文件。原始音頻文件包括原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件,通過預設(shè)算法對原始音頻文件的頭部文件執(zhí)行壓縮,得到壓縮率為25%的壓縮音頻文件。該壓縮音頻文件的壓縮頭部文件的文件標識通過“QIERFM”表示,壓縮頭部文件的長度通過“LEN” 表示,壓縮頭部文件通過“Compress(head)”表示,壓縮音頻文件的數(shù)據(jù)文件通過“Mdat”表示,與原始音頻文件的數(shù)據(jù)文件相同。該實施例中的數(shù)據(jù)文件為壓縮過的文件,通過獲取原始音頻文件,解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件,再通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,得到壓縮頭部文件,最后通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件,該實施例通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,有利于降低頭部文件的存儲空間,通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件避免了在播放音頻文件時由于音頻文件的頭部文件過大而導致音頻文件的加載時間長的問題,極大地提高了音頻文件的加載速度。需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。實施例2根據(jù)本發(fā)明實施例,還提供了一種用于實施上述音頻文件的壓縮方法的裝置。圖7是根據(jù)本發(fā)明實施例的音頻文件的壓縮裝置的示意圖。如圖 7所示,該音頻文件的壓縮裝置包括:獲取單元20,解析單元30,壓縮單元40和生成單元50。其中,獲取單元20用于獲取原始音頻文件。解析單元30用于解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件,其中,數(shù)據(jù)文件為壓縮過的文件。壓縮單元40用于通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,得到壓縮頭部文件。生成單元50通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件。在該實施例的音頻文件的壓縮裝置中,獲取單元20可以用于執(zhí)行本發(fā)明實施例中的步驟S32,解析單元30可以用于執(zhí)行本發(fā)明實施例中的步驟S34,壓縮單元40可以用于執(zhí)行本發(fā)明實施例中的步驟S36,生成單元50可以用于執(zhí)行本發(fā)明實施例中的步驟S38。通過上述裝置,獲取單元20,解析單元30,壓縮單元40和生成單元50,可以實現(xiàn)通過獲取單元20獲取原始音頻文件,然后通過解析單元30解析原始音頻文件進行解析,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件,通過壓縮單元40對原始音頻文件的頭部文件通過預設(shè)壓縮算法執(zhí)行壓縮,從而得到壓縮頭部文件,減小了原始音頻文件的頭部文件的大小,并且通過生成單元50將壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件,降低了播放壓縮音頻文件時音頻文件加載的時間,提高了音頻文件緩沖的速度,進而解決了由于音頻文件的頭部文件過大而導致音頻文件的加載時間長的技術(shù)問題。本申請上述獲取單元20可以用于獲取原始音頻文件,其中,原始音頻文件攜帶的音頻數(shù)據(jù),通過終端的軟件程序?qū)σ纛l數(shù)據(jù)進行處理,進而播放音頻??蛇x地,獲取單元20從數(shù)據(jù)庫中獲取終端需要播放的原始音頻文件。上述獲取單元20獲取的原始音頻文件可以在數(shù)據(jù)庫中用多個字段來表示,通過容器box存儲字段數(shù)據(jù)。容器box包含了原始音頻文件的樣本數(shù)和每個樣本中包含的對原始音頻文件的采樣點數(shù)的大小,通過樣本數(shù)和 每個樣本中采樣點數(shù)的大小使原始音頻文件的音頻數(shù)據(jù)分解出數(shù)據(jù)幀。原始音頻文件的數(shù)據(jù)中總的樣本數(shù)與容器box中的樣本數(shù)一致??蛇x地,上述獲取單元20獲取原始音頻文件的字段,得到原始音頻文件的尺寸、類型、版本、標識、采樣大小、采樣數(shù)量和每個樣本的字節(jié)數(shù),從而通過上述獲取單元20確定需要終端播放的音頻文件。在上述獲取單元20獲取原始音頻文件之后,上述解析單元30解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件,其中,原始音頻文件的數(shù)據(jù)文件為壓縮過的文件。原始音頻文件包括原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件,上述獲取單元20獲取原始音頻文件,也即,獲取包括頭部文件和數(shù)據(jù)文件的音頻文件。通過上述獲取單元20獲取原始音頻文件,可以獲取到原始音頻文件的頭部文件的文件標識、原始音頻文件的頭部文件的長度。可選地,解析單元30解析原始音頻文件是通過預分析原始音頻文件的頭部文件的文件標識和原始音頻文件的頭部文件的長度以確定原始音頻文件的頭部文件,再按照原始音頻文件的頭部文件的字節(jié)數(shù)將原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件分離開,從而得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件。上述解析單元30解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件的方式僅為本發(fā)明的優(yōu)選實施例,并不代表上述解析單元30僅包括上述解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件的方式。為了提高解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件的效率,本發(fā)明實施例還可以包括其他能夠解析原始音頻文件的方式,此處不再一一舉例。在上述解析單元30解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件之后,通過上述壓縮單元40對原始音頻文件的頭部文件執(zhí)行壓縮,去除原始音頻文件的冗余數(shù)據(jù)。計算機處理的信息以二進制數(shù)據(jù)表示的,壓縮單元40通過預設(shè)的壓縮算法將二進制信息 中相同的字符串以特殊字符進行標記,通過合理的數(shù)學計算公式,對原始音頻文件的頭部文件執(zhí)行壓縮,得到壓縮頭部文件。可選地,上述壓縮單元40對原始音頻文件的頭部文件執(zhí)行壓縮包括對原始音頻文件的頭部文件執(zhí)行有損壓縮和無損壓縮。上述壓縮單元40對原始音頻文件的頭部文件執(zhí)行有損壓縮,可以忽略對原始音頻文件的頭部文件影響不大的數(shù)據(jù),對原始音頻文件的頭部文件執(zhí)行壓縮;上述壓縮單元40對原始音頻文件的頭部文件進行無損壓縮,壓縮數(shù)據(jù)必須準確無誤,從而得到原始音頻文件的頭部文件的壓縮頭部文件。通過上述壓縮單元40得到的壓縮頭部文件,減小了原始音頻文件的頭部文件的大小。在加載音頻文件時,降低了音頻文件加載的時間,提高了音頻文件緩沖的速度。在上述壓縮單元40通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,得到壓縮頭部文件之后,上述生成單元50通過原始音頻文件的壓縮頭部文件和原始音頻文件的數(shù)據(jù)文件生成壓縮音頻文件??蛇x地,上述生成單元50合并原始音頻文件的壓縮頭部文件和原始音頻文件的數(shù)據(jù)文件,從而生成壓縮音頻文件。作為一種可選的實施方式,圖8是根據(jù)本發(fā)明實施例的一種可選地音頻文件的壓縮裝置的示意圖。該音頻文件的壓縮裝置包括:獲取單元20,解析單元30,壓縮單元40和生成單元50,其中,壓縮單元40包括:第一獲取模塊41,壓縮模塊42,第二獲取模塊43和第一合并模塊44。第一獲取模塊41,用于獲取頭部文件的字段,其中,頭部文件的字段中包括多個相同的字段。原始音頻文件的頭部文件包括多個字段。在得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件之后,第一獲取模塊41獲取原始音頻文件的頭部文件的多個字段。原始音頻文件的多個字段中的部分字段是相同的。可選地,原始音頻文件的多個字段中的部分字段通過字節(jié)表示的頭部文件的內(nèi)容相同。壓縮模塊42,用于對多個相同的字段執(zhí)行壓縮,得到壓縮字段。在第一獲取模塊41獲取頭部文件的多個字段之后,壓縮模塊42提取頭部文件中多個字段中相同的字段,將多個字段中相同的字段執(zhí)行壓縮??蛇x地,壓縮模塊42對原始音頻文件的頭部文件中的相同的字段執(zhí)行有損壓縮。壓縮模塊42也可以對頭部文件的個別相同的字段進行無損壓縮,從而得到原始音頻文件的頭部文件的壓縮頭部文件。第二獲取模塊43,用于獲取頭部文件的字段中的未壓縮字段。在壓縮模塊42對原始音頻文件中的多個字段中相同的字段執(zhí)行壓縮之后,通過第二獲取模塊43獲取多個字段中的未壓縮字段??蛇x地,通過第二獲取模塊43獲取的未壓縮的字段所表示的尺寸,或者類型,或者版本,或者標識,或者采樣大小,或者采樣數(shù)量,或者每個采樣的字節(jié)數(shù)不變。第一合并模塊44,用于合并壓縮字段和未壓縮字段,得到壓縮頭部文件。在第二獲取模塊43獲取多個字段中的未壓縮字段之后,通過合并模塊44合并壓縮字段和未壓縮字段,得到壓縮頭部文件。該實施例通過第一獲取模塊41獲取原始音頻文件的頭部文件的字段,頭部文件的字段中包括多個相同的字段,通過壓縮模塊42對多個相同的字段執(zhí)行壓縮,得到壓縮字段,然后通過第二獲取模塊43獲取原始音頻文件頭部文件的字段中的未壓縮字段,最后通過第一合并模塊44合并壓縮字段和未壓縮字段,得到壓縮頭部文件,實現(xiàn)了對頭部文件執(zhí)行壓縮的目的。作為一種可選的實施方式,圖9是根據(jù)本發(fā)明實施例的一種可選地音頻文件的壓縮裝置的示意圖。該音頻文件的壓縮裝置包括:獲取單元20,解析單元30,壓縮單元40和生成單元50,其中,壓縮單元40包括:第一獲取模塊41,壓縮模塊42,第二獲取模塊43和第一合并模塊44,生成 單元50包括:第三獲取模塊51,第四獲取模塊52和第二合并模塊53。第三獲取模51,用于獲取壓縮頭部文件的預設(shè)文件標識。第三獲取模51獲取的壓縮頭部文件的文件標識表示通過預設(shè)壓縮算法對原始音頻文件的頭部文件所執(zhí)行的壓縮過程。在終端接收到音頻數(shù)據(jù)文件時,通過該壓縮頭部文件的文件標識確定對壓縮音頻文件執(zhí)行解壓的后臺算法,以及開始對壓縮頭部文件執(zhí)行解壓。第四獲取模塊52,用于獲取壓縮頭部文件的長度。在通過合并模塊44得到壓縮頭部文件之后,壓縮頭部文件的長度也就確定。第二合并模塊53,用于合并壓縮頭部文件的預設(shè)文件標識,壓縮頭部文件的長度,壓縮頭部文件和數(shù)據(jù)文件,得到壓縮音頻文件。在第三獲取模51壓縮頭部文件的文件標識,在第四獲取模塊52獲取壓縮頭部文件的長度之后,第二合并模塊53通過合并壓縮頭部文件的文件標識,壓縮頭部文件的長度,壓縮頭部文件和數(shù)據(jù)文件,得到壓縮音頻文件。該壓縮音頻文件降低了音頻文件的存儲空間,從而通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件,達到了降低音頻文件的加載時間的效果。作為一種可選的實施例,圖10是根據(jù)本發(fā)明實施例的一種可選地音頻文件的壓縮裝置的示意圖。該音頻文件的壓縮裝置包括:獲取單元20,解析單元30,壓縮單元40和生成單元50,其中,壓縮單元40包括:第一獲取模塊41,壓縮模塊42,第二獲取模塊43和第一合并模塊44,生成單元50包括:第三獲取模塊51,第四獲取模塊52和第二合并模塊53,該音頻文件的壓縮裝置還包括:發(fā)送單元60。發(fā)送單元60,發(fā)送壓縮音頻文件至終端,其中,終端用于根據(jù)壓縮頭部文件的文件標識和壓縮頭部文件的長度對壓縮頭部文件執(zhí)行解壓,得到解壓頭部文件,并加載解壓頭部文件,根據(jù)解壓頭部文件播放數(shù)據(jù)文件??蛇x地,發(fā)送單元60發(fā)送壓縮音頻文件至終端,該壓縮音頻文件是通過壓縮頭部文件和數(shù)據(jù)文件生成單元50生成的壓縮音頻文件,該壓縮音頻文件包括文件標識、壓縮頭部文件的長度、壓縮頭部文件和數(shù)據(jù)文件,在終端查找到壓縮頭部文件的文件標識后,確定解壓壓縮頭部文件的后臺算法,并且通過壓縮頭部文件的長度對壓縮頭部文件執(zhí)行解壓,得到解壓頭部文件,并加載解壓頭部文件,終端根據(jù)解壓頭部文件播放數(shù)據(jù)文件,該終端可以為客戶端瀏覽器。作為一種可選的實施例,該實施例的原始音頻文件的格式為M4A格式。作為一種可選的實施例,該實施例的預設(shè)壓縮算法為GZIP壓縮算法。該實施例中的數(shù)據(jù)文件為壓縮過的文件,通過獲取原始音頻文件,解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件,再通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,得到壓縮頭部文件,最后通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件,該實施例通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,有利于降低頭部文件的存儲空間,通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件避免了在播放音頻文件時由于音頻文件的頭部文件過大而導致音頻文件的加載時間長的問題,極大地提高了音頻文件的加載速度。該實施例中的數(shù)據(jù)文件為壓縮過的文件,通過獲取單元20獲取原始音頻文件,通過解析單元30解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件,再通過壓縮單元40通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,得到壓縮頭部文件,最后通過生產(chǎn)單元50壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件,該實施例通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,有利于降低頭部文件的存儲空間,通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件避免了在播放音頻文件時由于音頻文件的頭部文件過大而導致音頻文件的加載時間長的問題,極大地提高了音頻文件的加載速度。實施例3本發(fā)明的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以用于保存上述實施例一種音頻文件的壓縮方法所執(zhí)行的程序代碼??蛇x地,在本實施例中,上述存儲介質(zhì)可以位于計算機網(wǎng)絡(luò)的多個網(wǎng)絡(luò)設(shè)備中的至少一個網(wǎng)絡(luò)設(shè)備??蛇x地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:第一步,獲取原始音頻文件。第二步,解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件,其中,數(shù)據(jù)文件為壓縮過的文件;第三步,通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,得到壓縮頭部文件;第四步,通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件??蛇x地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:獲取頭部文件的字段,其中,頭部文件的字段中包括多個相同的字段;對多個相同的字段執(zhí)行壓縮,得到壓縮字段;獲取頭部文件的字段中的未壓縮字段;合并壓縮字段和未壓縮字段,得到壓縮頭部文件??蛇x地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:獲取壓縮頭部文件的預設(shè)文件標識;獲取壓縮頭部文件的長度;合并壓縮頭部文件的預設(shè)文件標識,壓縮頭部文件的長度,壓縮頭部文件和數(shù)據(jù)文件,得到壓縮音頻文件??蛇x地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:發(fā)送壓縮音頻文件至終端,其中,終端用于根據(jù)壓縮頭部文件的文件標識和壓縮頭部文件的長度對壓縮頭部文件執(zhí)行解壓,得到解壓頭部文件,并加載解壓頭部文件,根據(jù)解壓頭部文件播放數(shù)據(jù)文件??蛇x地,在本實施例中,上述存儲介質(zhì)可以包括但不限于:U盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機存取存儲器(RAM,RandomAccessMemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。實施例4本發(fā)明的實施例還提供一種計算機終端,該計算機終端可以是計算機終端群中的任意一個計算機終端設(shè)備。可選地,在本實施例中,上述計算機終端也可以替換為移動終端等終端設(shè)備??蛇x地,在本實施例中,上述計算機終端可以位于計算機網(wǎng)絡(luò)的多個網(wǎng)絡(luò)設(shè)備中的至少一個網(wǎng)絡(luò)設(shè)備??蛇x地,圖11是根據(jù)本發(fā)明實施例的一種計算機終端的結(jié)構(gòu)框圖。如圖11所示,該計算機終端10可以包括:一個或多個(圖中僅示出一個)處理器102,存儲器104和傳輸裝置106。其中,存儲器104可用于存儲軟件程序以及模塊,如本發(fā)明實施例中的音頻文件的壓縮方法和裝置對應的程序指令/模塊,處理器102通過運行存儲在存儲器104內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應用以及數(shù)據(jù)處理,即實現(xiàn)上述音頻文件的壓縮方法。存儲器104可包括高速隨機存儲器,還可以包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器104可進一步包括相對于處理器102遠程設(shè)置的存儲器,這些遠程存儲器可以通過網(wǎng)絡(luò)連接至計算機終端10。上述網(wǎng)絡(luò)的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。上述的傳輸裝置106用于經(jīng)由一個網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡(luò)具體實例可包括有線網(wǎng)絡(luò)及無線網(wǎng)絡(luò)。在一個實例中,傳輸裝置106包括一個網(wǎng)絡(luò)適配器NIC,其可通過網(wǎng)線與其他網(wǎng)絡(luò)設(shè)備與路由器相連從而可與互聯(lián)網(wǎng)或局域網(wǎng)進行通訊。在一個實例中,傳輸裝置106為射頻RF 模塊,其用于通過無線方式與互聯(lián)網(wǎng)進行通訊。其中,具體地,存儲器104用于存儲預設(shè)動作條件和預設(shè)權(quán)限用戶的信息、以及應用程序。處理器102可以通過傳輸裝置106調(diào)用存儲器104存儲的信息及應用程序,以執(zhí)行下述步驟:第一步,獲取原始音頻文件。第二步,解析原始音頻文件,得到原始音頻文件的頭部文件和原始音頻文件的數(shù)據(jù)文件,其中,數(shù)據(jù)文件為壓縮過的文件。第三步,通過預設(shè)壓縮算法對頭部文件執(zhí)行壓縮,得到壓縮頭部文件。第四步,通過壓縮頭部文件和數(shù)據(jù)文件生成壓縮音頻文件??蛇x地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。上述實施例中的集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在上述計算機可讀取的存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在存儲介質(zhì)中,包括若干指令用以使得一臺或多臺計算機設(shè)備(可為個人計算機、服務器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。在本發(fā)明的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。在本申請所提供的幾個實施例中,應該理解到,所揭露的客戶端,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外 的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。當前第1頁1 2 3