媒體播放中的音軌切換方法和媒體播放設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及媒體播放技術(shù)領(lǐng)域,尤其涉及一種音軌切換方法和媒體播放設(shè)備。
【背景技術(shù)】
[0002]目前,為了滿足用戶對音頻的不同需求,媒體文件通常包括多條音軌的音頻數(shù)據(jù)。每條音軌對應(yīng)于一條獨(dú)立的音頻流。在媒體文件中,不同的語言類型的音頻流(如中文、英文等)對應(yīng)于不同的音軌。不同的音質(zhì)的音頻流(如杜比、AAC、MP3等)也對應(yīng)于不同的音軌。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實(shí)施例提供一種媒體播放中的音軌切換方法和媒體播放設(shè)備,以減小播放媒體文件時(shí)占用的內(nèi)存資源。
[0004]本發(fā)明實(shí)施例提供了媒體播放中的音軌切換方法,應(yīng)用于媒體播放設(shè)備,當(dāng)所述媒體播放設(shè)備播放一媒體文件的第一音軌的音頻時(shí),依次讀取外存中所述媒體文件的所述第一音軌的音頻數(shù)據(jù)包和視頻數(shù)據(jù)包并將其分別存入內(nèi)存中所述媒體文件對應(yīng)的音頻緩沖區(qū)和視頻緩沖區(qū);該方法包括:
[0005]響應(yīng)于用戶觸發(fā)的切換至第二音軌的指令,刪除所述音頻緩沖區(qū)中保存的所述第一音軌的音頻數(shù)據(jù)包,并停止讀取所述外存中所述媒體文件的所述第一音軌的音頻數(shù)據(jù)包和所述視頻數(shù)據(jù)包;
[0006]依次讀取所述外存中所述媒體文件的所述第二音軌的音頻數(shù)據(jù)包,并將其保存在所述音頻緩沖區(qū)中;所讀取的所述第二音軌的音頻數(shù)據(jù)包對應(yīng)于所述視頻緩沖區(qū)中當(dāng)前保存的所述視頻數(shù)據(jù)包;
[0007]從所述視頻緩存區(qū)中獲取待播放的視頻數(shù)據(jù)包,從所述音頻緩沖區(qū)獲取該待播放的視頻數(shù)據(jù)包對應(yīng)的所述第二音軌的音頻數(shù)據(jù)包,并播放所獲取的所述視頻數(shù)據(jù)包及所述第二音軌的所述音頻數(shù)據(jù)包。
[0008]本發(fā)明提供了媒體播放設(shè)備,該媒體播放設(shè)備包括讀取模塊,用于當(dāng)所述媒體播放設(shè)備播放一媒體文件的第一音軌的音頻時(shí),依次讀取外存中所述媒體文件的所述第一音軌的音頻數(shù)據(jù)包和視頻數(shù)據(jù)包并將其分別存入內(nèi)存中所述媒體文件對應(yīng)的音頻緩沖區(qū)和視頻緩沖區(qū);
[0009]該媒體播放設(shè)備還進(jìn)一步包括切換控制模塊和播放模塊,其中,
[0010]所述切換控制模塊用于響應(yīng)于用戶觸發(fā)的切換至第二音軌的指令,刪除所述音頻緩沖區(qū)中保存的所述第一音軌的音頻數(shù)據(jù)包,并指令所述讀取模塊停止讀取所述外存中所述媒體文件的所述第一音軌的音頻數(shù)據(jù)包和所述視頻數(shù)據(jù)包;
[0011]所述讀取模塊進(jìn)一步用于響應(yīng)于所述切換控制模塊的指令,依次讀取所述外存中所述媒體文件的所述第二音軌的音頻數(shù)據(jù)包,并將其保存在所述音頻緩沖區(qū)中;所讀取的所述第二音軌的音頻數(shù)據(jù)包對應(yīng)于所述視頻緩沖區(qū)中當(dāng)前保存的所述視頻數(shù)據(jù)包;
[0012]所述播放模塊用于從所述視頻緩存區(qū)中獲取待播放的視頻數(shù)據(jù)包,從所述音頻緩沖區(qū)獲取該待播放的視頻數(shù)據(jù)包對應(yīng)的所述第二音軌的音頻數(shù)據(jù)包,并播放所獲取的所述視頻數(shù)據(jù)包及所述第二音軌的所述音頻數(shù)據(jù)包。
[0013]采用上述技術(shù)方案,在所述媒體播放設(shè)備播放一媒體文件的第一音軌的音頻時(shí),響應(yīng)于用戶觸發(fā)的切換至第二音軌的指令,刪除音頻緩沖區(qū)中保存的第一音軌的音頻數(shù)據(jù)包,并依次讀取所述外存中所述媒體文件的該第二音軌的音頻數(shù)據(jù)包,并將其保存在所述音頻緩沖區(qū)中,其中,所讀取的所述第二音軌的音頻數(shù)據(jù)包對應(yīng)于所述視頻緩沖區(qū)中當(dāng)前保存的所述視頻數(shù)據(jù)包,然后播放該第二音軌的音頻數(shù)據(jù)包。這樣就減小播放媒體文件時(shí)占用的內(nèi)存資源。
【附圖說明】
[0014]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0015]圖1為本發(fā)明實(shí)施例中媒體播放設(shè)備結(jié)構(gòu)示意圖;
[0016]圖2為本發(fā)明實(shí)施例中媒體播放中的音軌切換方法的流程圖;
[0017]圖3為本發(fā)明實(shí)施例中媒體播放中的音軌切換方法的流程圖;
[0018]圖4為本發(fā)明實(shí)施例中媒體播放中音頻數(shù)據(jù)包讀取示意圖;
[0019]圖5為本發(fā)明實(shí)施例中媒體播放設(shè)備結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0020]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0021]本發(fā)明的發(fā)明人在研宄過程中發(fā)現(xiàn),為了滿足用戶在播放外存中媒體文件時(shí)切換音軌的需求,在播放該媒體文件時(shí),終端設(shè)備會(huì)讀取對應(yīng)于每條音軌的音頻數(shù)據(jù)包,并都保存在內(nèi)存中該媒體文件對應(yīng)的音頻緩沖區(qū)中。由于需要保存該媒體文件中多條音軌的音頻數(shù)據(jù)包,將占用大量的內(nèi)存資源。特別是對于音質(zhì)要求較高的音軌(例如,杜比),保存該音軌對應(yīng)的音頻數(shù)據(jù)包所占用的內(nèi)存資源將更多。
[0022]有鑒于此,本發(fā)明實(shí)施例提出了一種媒體播放中的音軌切換方法。根據(jù)本發(fā)明實(shí)施例提供的方法,當(dāng)所述媒體播放設(shè)備播放一媒體文件的第一音軌的音頻時(shí),依次讀取外存中所述媒體文件的所述第一音軌的音頻數(shù)據(jù)包和視頻數(shù)據(jù)包并將其分別存入內(nèi)存中所述媒體文件對應(yīng)的音頻緩沖區(qū)和視頻緩沖區(qū)。響應(yīng)于用戶觸發(fā)的切換至第二音軌的指令,刪除所述音頻緩沖區(qū)中保存的所述第一音軌的音頻數(shù)據(jù)包,并停止讀取所述外存中所述媒體文件的所述第一音軌的音頻數(shù)據(jù)包和所述視頻數(shù)據(jù)包。依次讀取所述外存中所述媒體文件的所述第二音軌的音頻數(shù)據(jù)包,并將其保存在所述音頻緩沖區(qū)中;所讀取的所述第二音軌的音頻數(shù)據(jù)包對應(yīng)于所述視頻緩沖區(qū)中當(dāng)前保存的所述視頻數(shù)據(jù)包。從所述視頻緩存區(qū)中獲取待播放的視頻數(shù)據(jù)包,從所述音頻緩沖區(qū)獲取該待播放的視頻數(shù)據(jù)包對應(yīng)的所述第二音軌的音頻數(shù)據(jù)包,并播放所獲取的所述視頻數(shù)據(jù)包及所述第二音軌的所述音頻數(shù)據(jù)包。從而,減小了播放媒體文件時(shí)占用的內(nèi)存資源。
[0023]圖1是本發(fā)明一個(gè)實(shí)施例中媒體播放設(shè)備結(jié)構(gòu)示意圖。如圖1所示,媒體播放設(shè)備100可以是具有數(shù)據(jù)計(jì)算處理及存儲(chǔ)功能的計(jì)算設(shè)備,包括但不限于(安裝有通信模塊的)智能手機(jī)、掌上電腦、平板電腦、智能電視(Smart TV)等。這些通信終端上都安裝有操作系統(tǒng),包括但不限于:Android操作系統(tǒng)、Symbian操作系統(tǒng)、Windows mobile操作系統(tǒng)、以及蘋果iPhone OS操作系統(tǒng)等等。如圖1所示,媒體播放設(shè)備100可以包括處理器102、非易失性計(jì)算機(jī)可讀存儲(chǔ)器104、I/O接口 106和另一個(gè)非易失性計(jì)算機(jī)可讀存儲(chǔ)器109。該媒體播放設(shè)備100還可包括網(wǎng)絡(luò)通信接口 108。這些組件通過總線105進(jìn)行通信。
[0024]在本發(fā)明一個(gè)實(shí)施例中,該非易失性計(jì)算機(jī)可讀存儲(chǔ)器109為媒體播放設(shè)備100的外存,可以包括紙張存儲(chǔ)介質(zhì)(如紙帶等)、磁存儲(chǔ)介質(zhì)(如軟盤、硬盤、閃存等)、光存儲(chǔ)介質(zhì)(如CD-ROM等)、磁光存儲(chǔ)介質(zhì)(如MO等)等。在本發(fā)明一個(gè)實(shí)施例中,該非易失性計(jì)算機(jī)可讀存儲(chǔ)器109存儲(chǔ)了待播放的媒體文件。
[0025]在本發(fā)明一個(gè)實(shí)施例中,非易失性計(jì)算機(jī)可讀存儲(chǔ)器104為媒體播放設(shè)備100的內(nèi)存,存儲(chǔ)有多個(gè)程序模塊:操作系統(tǒng)112、1/0模塊114、通信模塊116和應(yīng)用程序118。處理器102可以讀取存儲(chǔ)器中的程序模塊來實(shí)現(xiàn)本發(fā)明實(shí)施例提供的方案。當(dāng)該媒體播放設(shè)備100播放一存儲(chǔ)于非易失性計(jì)算機(jī)可讀存儲(chǔ)器109的媒體文件時(shí),會(huì)在該非易失性計(jì)算機(jī)可讀存儲(chǔ)器104中為該媒體文件開辟音頻緩沖區(qū)和視頻緩沖區(qū)。其中,該音頻緩沖區(qū)用于存儲(chǔ)從外存的該媒體文件中讀取到的當(dāng)前音軌的音頻數(shù)據(jù)包,該視頻緩沖區(qū)用于存儲(chǔ)從外存的該媒