本發(fā)明涉及通信領域,尤其涉及一種音頻數(shù)據(jù)解碼的控制方法及移動
終端。
背景技術:
直接比特流數(shù)字(DSD,Direct Stream Digital)格式音樂和脈沖編碼調(diào)制(PCM,Pulse Code Modulation)格式音樂是有明顯不同的。PCM是用一定采樣率對模擬信號進行抽樣、量化和編碼,生成符合PCM接口規(guī)范的PCM數(shù)據(jù)。DSD是用1bit比特流的方式取樣,采用高取樣的方式,直接把模擬音樂訊號以脈沖方式轉(zhuǎn)變?yōu)閿?shù)字訊號,DSD數(shù)據(jù)是不符合PCM接口規(guī)范的,如果要傳輸,必須要按照PCM接口的要求進行重新封裝并用PCM的接口來進行傳輸。DSD數(shù)據(jù)的優(yōu)點是音質(zhì)非常好,現(xiàn)有技術的DSD格式音樂存在硬件解碼和軟件解碼兩種方式,其中,硬件解碼的過程是使用DOP(DOP,DSD Over PCM)解析模塊對DSD數(shù)據(jù)進行解析封裝得到DOP數(shù)據(jù),然后將DOP數(shù)據(jù)傳輸至硬件解碼通路進行解碼;軟件解碼的過程是將DSD數(shù)據(jù)轉(zhuǎn)換為PCM數(shù)據(jù),然后將PCM數(shù)據(jù)傳輸至軟件解碼通路進行解碼。當硬件解碼切換為軟件解碼,需要先銷毀DOP解析模塊,然后將DSD數(shù)據(jù)從新轉(zhuǎn)換為PCM數(shù)據(jù)。這樣,在進行軟硬件解碼切換的時候需要從新傳輸DSD音頻數(shù)據(jù),存在DSD音頻數(shù)據(jù)傳輸中斷的問題。
技術實現(xiàn)要素:
本發(fā)明實施例提供一種音頻數(shù)據(jù)解碼的控制方法及移動終端,以解決現(xiàn)有技術進行軟硬件解碼切換的時候需要從新傳輸DSD音頻數(shù)據(jù),存在DSD音頻數(shù)據(jù)傳輸中斷的問題。
第一方面,本發(fā)明實施例提供了一種音頻數(shù)據(jù)解碼的控制方法,應用于安裝有音頻播放器的移動終端,包括:
將DSD音頻數(shù)據(jù)封裝成用于音頻硬件解碼的音頻數(shù)據(jù)包;
識別所述音頻播放器使用的音頻解碼方式;
若識別所述音頻解碼方式為音頻軟件解碼方式,則對所述音頻數(shù)據(jù)包進行解封裝,得到所述DSD音頻數(shù)據(jù),并將所述DSD音頻數(shù)據(jù)轉(zhuǎn)換為PCM音頻數(shù)據(jù);
使用音頻軟件解碼方式對所述PCM音頻數(shù)據(jù)進行解碼;
若識別所述音頻解碼方式為音頻硬件解碼方式,則使用音頻硬件解碼方式對音頻數(shù)據(jù)包進行解碼。
第二方面,本發(fā)明實施例還提供一種移動終端,所述移動終端安裝有音頻播放器,包括:
封裝模塊,用于將DSD音頻數(shù)據(jù)封裝成用于音頻硬件解碼的音頻數(shù)據(jù)包;
識別模塊,用于識別所述音頻播放器使用的音頻解碼方式;
轉(zhuǎn)換模塊,用于若識別所述音頻解碼方式為音頻軟件解碼方式,則對所述音頻數(shù)據(jù)包進行解封裝,得到所述DSD音頻數(shù)據(jù),并將所述DSD音頻數(shù)據(jù)轉(zhuǎn)換為PCM音頻數(shù)據(jù);
第一解碼模塊,用于使用音頻軟件解碼方式對所述PCM音頻數(shù)據(jù)進行解碼;
第二解碼模塊,用于若識別所述音頻解碼方式為音頻硬件解碼方式,則使用音頻硬件解碼方式對音頻數(shù)據(jù)包進行解碼。
本發(fā)明實施例中,將DSD音頻數(shù)據(jù)封裝成用于音頻硬件解碼的音頻數(shù)據(jù)包;識別所述音頻播放器使用的音頻解碼方式;若識別所述音頻解碼方式為音頻軟件解碼方式,則對所述音頻數(shù)據(jù)包進行解封裝,得到所述DSD音頻數(shù)據(jù),并將所述DSD音頻數(shù)據(jù)轉(zhuǎn)換為PCM音頻數(shù)據(jù);使用音頻軟件解碼方式對所述PCM音頻數(shù)據(jù)進行解碼;若識別所述音頻解碼方式為音頻硬件解碼方式,則使用音頻硬件解碼方式對音頻數(shù)據(jù)包進行解碼。這樣,當播放器使用的音頻解碼方式發(fā)生切換時,不用從新傳輸DSD音頻數(shù)據(jù),根據(jù)當前的音頻解碼方式來對音頻數(shù)據(jù)包進行解碼,從而實現(xiàn)了軟硬件解碼切換時連續(xù)傳輸DSD音頻數(shù)據(jù),并提高了用戶體驗。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術方案,下面將對本發(fā)明實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明第一實施例提供的音頻數(shù)據(jù)解碼的控制方法的流程圖;
圖2是本發(fā)明第二實施例提供的另一種音頻數(shù)據(jù)解碼的控制方法的流程圖;
圖3是本發(fā)明第三實施例提供的一種移動終端的結(jié)構圖;
圖4是本發(fā)明第三實施例提供的另一種移動終端的結(jié)構圖;
圖5是本發(fā)明第三實施例提供的移動終端中的識別模塊的結(jié)構圖之一;
圖6是本發(fā)明第三實施例提供的移動終端中的識別模塊的結(jié)構圖之二;
圖7是本發(fā)明第四實施例提供的一種移動終端的結(jié)構圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
第一實施例
參見圖1,圖1是本發(fā)明實施例提供的音頻數(shù)據(jù)解碼的控制方法的流程圖,如圖1所示,包括以下步驟:
步驟101、將DSD音頻數(shù)據(jù)封裝成用于音頻硬件解碼的音頻數(shù)據(jù)包。
該步驟中,DSD數(shù)據(jù)是不能直接用于音頻硬件解碼,如果要進行音頻硬件解碼,需要使用封裝協(xié)議對DSD數(shù)據(jù)進行封裝,得到音頻數(shù)據(jù)包。例如,可以使用(DOP,DSD Over PCM)協(xié)議對DSD數(shù)據(jù)進行封裝,將使用DOP協(xié)議封裝后的DSD數(shù)據(jù)稱為DOP數(shù)據(jù),上述DOP數(shù)據(jù)就可以直接用于音頻硬件解碼即使用音頻硬件解碼通路來傳輸使用DOP協(xié)議封裝后的DSD數(shù)據(jù)。需要說明的是,DSD數(shù)據(jù)是無法直接進行音頻硬件解碼,需要使用DOP協(xié)議對DSD數(shù)據(jù)進行封裝后,封裝后的DSD數(shù)據(jù)才可以在音頻硬件解碼通路上傳輸。
步驟102、識別所述音頻播放器使用的音頻解碼方式。
該步驟中,上述音頻解碼方式可以音頻硬件解碼方式,也可以是音頻軟件解碼方式,當音頻播放器在播放DSD音樂時,通過檢測HiFi(High-Fidelity,高保真播放)的開啟狀態(tài)以及DSD硬件解碼的開啟狀態(tài)來識別音頻播放器使用的音頻解碼方式,若所述音頻播放器的高保真播放狀態(tài)以及所述音頻播放器的DSD硬件解碼狀態(tài)處于開啟狀態(tài),識別所述音頻播放器使用音頻硬件解碼方式;若所述音頻播放器的高保真播放處于關閉狀態(tài)或者所述音頻播放器的DSD硬件解碼狀態(tài)處于關閉狀態(tài),識別所述音頻播放器使用音頻軟件解碼方式;例如,用戶開啟HiFi播放時或者DSD硬件解碼狀態(tài)處于關閉狀態(tài),會發(fā)送請求命令給系統(tǒng),通過檢測這個請求命令可以判斷是開啟HiFi播放還是關閉HiFi播放以及DSD硬件解碼狀態(tài)。這樣,通過識別當前使用的音頻解碼方式來對上述步驟中的音頻數(shù)據(jù)包進行不同的解碼,以適應音頻數(shù)據(jù)傳輸,從而在進行軟硬件解碼切換的時候?qū)崿F(xiàn)連續(xù)傳輸。
步驟103、若識別所述音頻解碼方式為音頻軟件解碼方式,則對所述音頻數(shù)據(jù)包進行解封裝,得到所述DSD音頻數(shù)據(jù),并將所述DSD音頻數(shù)據(jù)轉(zhuǎn)換為PCM音頻數(shù)據(jù)。
該步驟中,可以使用DOP協(xié)議將DSD數(shù)據(jù)進行封裝,成為DOP數(shù)據(jù),當音頻解碼方式為音頻軟件解碼方式,對所述音頻數(shù)據(jù)包進行解封裝,得到所述DSD音頻數(shù)據(jù),DOP數(shù)據(jù)有頭部信息,即DOP數(shù)據(jù)頭部有標志性數(shù)據(jù),通過這個頭部信息來實現(xiàn)DOP數(shù)據(jù)和DSD音頻數(shù)據(jù)之間的相互轉(zhuǎn)換,只要具有這個頭部信息的數(shù)據(jù)就為DOP數(shù)據(jù),去掉這個頭部信息就轉(zhuǎn)換為DSD音頻數(shù)據(jù),并將DSD音頻數(shù)據(jù)轉(zhuǎn)換為PCM音頻數(shù)據(jù),這樣音頻軟件解碼方式就可以對PCM音頻數(shù)據(jù)進行解碼。
步驟104、使用音頻軟件解碼方式對所述PCM音頻數(shù)據(jù)進行解碼。
該步驟中,通過使用音頻軟件解碼方式對上述PCM音頻數(shù)據(jù)進行解碼,這樣,當音頻解碼方式由音頻硬件解碼方式向音頻軟件解碼方式切換時,不用從新傳輸DSD音頻數(shù)據(jù),只要對DOP音頻數(shù)據(jù)進行轉(zhuǎn)化,從而實現(xiàn)音頻數(shù)據(jù)的連續(xù)傳輸,提高了用戶的體驗。
步驟105、若識別所述音頻解碼方式為音頻硬件解碼方式,則使用音頻硬件解碼方式對音頻數(shù)據(jù)包進行解碼。
該步驟中,通過使用音頻硬件解碼方式對上述PCM音頻數(shù)據(jù)進行解碼,這樣,當音頻解碼方式由音頻軟件解碼方式向音頻硬件解碼方式切換時,不用從新傳輸DSD音頻數(shù)據(jù),只要對DOP音頻數(shù)據(jù)直接傳輸至音頻硬件解碼通路進行解碼,從而實現(xiàn)音頻數(shù)據(jù)的連續(xù)傳輸,提高了用戶的體驗。
本發(fā)明實施例中,上述移動終端可以任何具備DSD音頻播放器的移動終端,例如:手機、平板電腦(Tablet Personal Computer)、膝上型電腦(Laptop Computer)、個人數(shù)字助理(personal digital assistant,簡稱PDA)、移動上網(wǎng)裝置(Mobile Internet Device,MID)或可穿戴式設備(Wearable Device)等。
本發(fā)明實施例的音頻數(shù)據(jù)解碼的控制方法,將DSD音頻數(shù)據(jù)封裝成用于音頻硬件解碼的音頻數(shù)據(jù)包;識別所述音頻播放器使用的音頻解碼方式;若識別所述音頻解碼方式為音頻軟件解碼方式,則對所述音頻數(shù)據(jù)包進行解封裝,得到所述DSD音頻數(shù)據(jù),并將所述DSD音頻數(shù)據(jù)轉(zhuǎn)換為PCM音頻數(shù)據(jù);使用音頻軟件解碼方式對所述PCM音頻數(shù)據(jù)進行解碼;若識別所述音頻解碼方式為音頻硬件解碼方式,則使用音頻硬件解碼方式對音頻數(shù)據(jù)包進行解碼。這樣,當播放器使用的音頻解碼方式發(fā)生切換時,不用從新傳輸DSD音頻數(shù)據(jù),根據(jù)當前的音頻解碼方式來對音頻數(shù)據(jù)包進行解碼,從而實現(xiàn)了軟硬件解碼切換時連續(xù)傳輸DSD音頻數(shù)據(jù),并提高了用戶體驗。
第二實施例
參見圖2,圖2是本發(fā)明實施例提供的音頻數(shù)據(jù)解碼控制方法流程圖,如圖2所示,包括以下步驟:
步驟201、將DSD音頻數(shù)據(jù)封裝成用于音頻硬件解碼的音頻數(shù)據(jù)包。
該步驟中,DSD數(shù)據(jù)是不能直接用于音頻硬件解碼,如果要進行音頻硬件解碼,需要使用封裝協(xié)議對DSD數(shù)據(jù)進行封裝,得到音頻數(shù)據(jù)包。例如,可以使用(DOP,DSD Over PCM)協(xié)議對DSD數(shù)據(jù)進行封裝,將使用DOP協(xié)議封裝后的DSD數(shù)據(jù)稱為DOP數(shù)據(jù),上述DOP數(shù)據(jù)就可以直接用于音頻硬件解碼即使用音頻硬件解碼通路來傳輸使用DOP協(xié)議封裝后的DSD數(shù)據(jù)。需要說明的是,DSD數(shù)據(jù)是無法直接進行音頻硬件解碼,需要使用DOP協(xié)議對DSD數(shù)據(jù)進行封裝后,封裝后的DSD數(shù)據(jù)才可以在音頻硬件解碼通路上傳輸。
步驟202、檢測與所述移動終端連接的音頻播放設備是否有斷開的操作。
該步驟中,上述音頻設備可以是有線耳機、無線耳機如藍牙耳機或者與移動終端連接的音響設備,當音頻播放設備有斷開的操作時,可以檢測這個斷開的觸發(fā)操作,檢測的實現(xiàn)方式可以是通過系統(tǒng)函數(shù)來檢測,例如,通過IsBluetoothA2dpOn()函數(shù)檢查藍牙耳機是否與移動終端連接、通過IsWiredHeadsetOn()函數(shù)檢查線控耳機是否與移動終端連接。這樣,當檢測到與所述移動終端連接的音頻播放設備有斷開的操作時,執(zhí)行步驟202,從而更好的識別音頻播放器使用的音頻解碼方式,同時也可以節(jié)省移動終端的功耗。
步驟203、若檢測與所述移動終端連接的音頻播放設備有斷開的操作,識別所述音頻播放器使用的音頻解碼方式。
該步驟中,上述音頻解碼方式可以音頻硬件解碼方式,也可以是音頻軟件解碼方式,當音頻播放器在播放DSD音樂時,通過檢測HiFi(High-Fidelity,高保真播放)的開啟狀態(tài)以及DSD硬件解碼的開啟狀態(tài)來識別音頻播放器使用的音頻解碼方式,若所述音頻播放器的高保真播放狀態(tài)以及所述音頻播放器的DSD硬件解碼狀態(tài)處于開啟狀態(tài),識別所述音頻播放器使用音頻硬件解碼方式;若所述音頻播放器的高保真播放處于關閉狀態(tài)或者所述音頻播放器的DSD硬件解碼狀態(tài)處于關閉狀態(tài),識別所述音頻播放器使用音頻軟件解碼方式;例如,用戶開啟HiFi播放時或者DSD硬件解碼狀態(tài)處于關閉狀態(tài),會發(fā)送請求命令給系統(tǒng),通過檢測這個請求命令可以判斷是開啟HiFi播放還是關閉HiFi播放以及DSD硬件解碼狀態(tài)。這樣,通過識別當前使用的音頻解碼方式來對上述步驟中的音頻數(shù)據(jù)包進行不同的解碼,以適應音頻數(shù)據(jù)傳輸,從而在進行軟硬件解碼切換的時候?qū)崿F(xiàn)連續(xù)傳輸。
步驟204、若識別所述音頻解碼方式為音頻軟件解碼方式,則對所述音頻數(shù)據(jù)包進行解封裝,得到所述DSD音頻數(shù)據(jù),并將所述DSD音頻數(shù)據(jù)轉(zhuǎn)換為PCM音頻數(shù)據(jù)。
該步驟中,可以使用DOP協(xié)議將DSD數(shù)據(jù)進行封裝,成為DOP數(shù)據(jù),當音頻解碼方式為音頻軟件解碼方式,對所述音頻數(shù)據(jù)包進行解封裝,得到所述DSD音頻數(shù)據(jù),DOP數(shù)據(jù)有頭部信息,即DOP數(shù)據(jù)頭部有標志性數(shù)據(jù),通過這個頭部信息來實現(xiàn)DOP數(shù)據(jù)和DSD音頻數(shù)據(jù)之間的相互轉(zhuǎn)換,只要具有這個頭部信息的數(shù)據(jù)就為DOP數(shù)據(jù),去掉這個頭部信息就轉(zhuǎn)換為DSD音頻數(shù)據(jù),并將DSD音頻數(shù)據(jù)轉(zhuǎn)換為PCM音頻數(shù)據(jù),這樣音頻軟件解碼方式就可以對PCM音頻數(shù)據(jù)進行解碼。
步驟205、使用音頻軟件解碼方式對所述PCM音頻數(shù)據(jù)進行解碼。
該步驟中,通過使用音頻軟件解碼方式對上述PCM音頻數(shù)據(jù)進行解碼,這樣,當音頻解碼方式由音頻硬件解碼方式向音頻軟件解碼方式切換時,不用從新傳輸DSD音頻數(shù)據(jù),只要對DOP音頻數(shù)據(jù)進行轉(zhuǎn)化,從而實現(xiàn)音頻數(shù)據(jù)的連續(xù)傳輸,提高了用戶的體驗。
步驟206、若識別所述音頻解碼方式為音頻硬件解碼方式,則使用音頻硬件解碼方式對音頻數(shù)據(jù)包進行解碼。
該步驟中,通過使用音頻硬件解碼方式對上述PCM音頻數(shù)據(jù)進行解碼,這樣,當音頻解碼方式由音頻軟件解碼方式向音頻硬件解碼方式切換時,不用從新傳輸DSD音頻數(shù)據(jù),只要對DOP音頻數(shù)據(jù)直接傳輸至音頻硬件解碼通路進行解碼,從而實現(xiàn)音頻數(shù)據(jù)的連續(xù)傳輸,提高了用戶的體驗。
可選的,所述識別所述音頻播放器使用的音頻解碼方式的步驟,包括:
檢測所述音頻播放器的高保真播放狀態(tài);
檢測所述音頻播放器的DSD硬件解碼狀態(tài);
若所述音頻播放器的高保真播放狀態(tài)以及所述音頻播放器的DSD硬件解碼狀態(tài)處于開啟狀態(tài),識別所述音頻播放器使用音頻硬件解碼方式。
該實施方式中,通過檢測頻播放器的高保真播放狀態(tài)以及所述音頻播放器的DSD硬件解碼狀態(tài)處于開啟狀態(tài),如音頻播放器通過HiFi播放DSD音樂時會向系統(tǒng)發(fā)生一個指令以表示開啟HiFi播放狀態(tài),通過這個指令可以識別HiFi(高保真)播放狀態(tài),通過檢測接比特流數(shù)字硬件解碼狀態(tài)開啟時發(fā)送給系統(tǒng)的指令可以識別DSD硬件解碼狀態(tài),這樣,當檢測到上述高保真播放狀態(tài)以及所述音頻播放器的DSD硬件解碼狀態(tài)處于開啟狀態(tài)識別音頻播放器使用音頻硬件解碼方式。需要說明的是,上述實施方式中還可以應用于第一實施例的相應步驟中,并能達到相同的技術效果,為了避免重復,此處不再累述。
可選的,所述識別所述音頻播放器使用的音頻解碼方式的步驟,包括:
檢測所述音頻播放器的高保真播放狀態(tài);
檢測所述音頻播放器的DSD硬件解碼狀態(tài);
若所述音頻播放器的高保真播放處于關閉狀態(tài)或者所述音頻播放器的DSD硬件解碼狀態(tài)處于關閉狀態(tài),識別所述音頻播放器使用音頻軟件解碼方式。
該實施方式中,通過檢測音頻播放器的高保真播放處于關閉狀態(tài)或者所述音頻播放器的DSD硬件解碼狀態(tài)處于關閉狀態(tài),如,檢測到關閉音頻播放器的高保真播放狀態(tài)的指令或者檢測到關閉DSD硬件解碼狀態(tài)的指令,則識別音頻播放器使用音頻軟件解碼方式。如,當檢測到耳機從手機的耳機孔拔出的操作時,將以消息的形式通知音頻播放器,這個時候暫停當前播放的音樂,如果進行音頻軟件解碼播放時不用配置播放器的解碼器而是將DOP音頻數(shù)據(jù)轉(zhuǎn)換為DSD音頻數(shù)據(jù)進行音頻軟件解碼,這樣就可以實現(xiàn)音頻數(shù)據(jù)的連續(xù)傳輸。需要說明的是,上述實施方式中還可以應用于第一實施例的相應步驟中,并能達到相同的技術效果,為了避免重復,此處不再累述。
可選的,所述將所述DSD音頻數(shù)據(jù)轉(zhuǎn)換為PCM音頻數(shù)據(jù)的步驟,包括:
以預設采樣率對所述DSD音頻數(shù)據(jù)進行采樣處理,以得到PCM音頻數(shù)據(jù)。
該實施方式中,預設的采樣率根據(jù)不同的處理器芯片的屬性進行設置,目前應用處理器只支持192KHz采樣率的音頻數(shù)據(jù)流傳輸,而DSD音頻流的采樣率是2.8244MHz,所以預設的采樣率可以是192KHz,對DSD音頻數(shù)據(jù)進行上述采樣處理后得到PCM音頻流,然后按照192KHz的采樣率的PCM音頻流傳輸至音頻解碼芯片。這樣,通過將DOP音頻數(shù)據(jù)轉(zhuǎn)換為DSD音頻數(shù)據(jù),并將DSD音頻數(shù)據(jù)轉(zhuǎn)換為PCM音頻數(shù)據(jù),從而將PCM音頻數(shù)據(jù)傳輸音頻軟件解碼進行解碼,可以實現(xiàn)軟硬件解碼方式切換時的連續(xù)傳輸。需要說明的是,上述實施方式中還可以應用于第一實施例的相應步驟中,并能達到相同的技術效果,為了避免重復,此處不再累述。
本發(fā)明實施例的音頻數(shù)據(jù)解碼的控制方法,將DSD音頻數(shù)據(jù)封裝成用于音頻硬件解碼的音頻數(shù)據(jù)包;檢測與所述移動終端連接的音頻播放設備是否有斷開的操作;若檢測與所述移動終端連接的音頻播放設備有斷開的操作,識別所述音頻播放器使用的音頻解碼方式;若識別所述音頻解碼方式為音頻軟件解碼方式,則對所述音頻數(shù)據(jù)包進行解封裝,得到所述DSD音頻數(shù)據(jù),并將所述DSD音頻數(shù)據(jù)轉(zhuǎn)換為PCM音頻數(shù)據(jù);使用音頻軟件解碼方式對所述PCM音頻數(shù)據(jù)進行解碼;若識別所述音頻解碼方式為音頻硬件解碼方式,則使用音頻硬件解碼方式對音頻數(shù)據(jù)包進行解碼。這樣,當播放器使用的音頻解碼方式發(fā)生切換時,不用從新傳輸DSD音頻數(shù)據(jù),根據(jù)當前的音頻解碼方式來對音頻數(shù)據(jù)包進行解碼,從而實現(xiàn)了軟硬件解碼切換時連續(xù)傳輸DSD音頻數(shù)據(jù),并提高了用戶體驗。
第三實施例
參見圖3,圖3是本發(fā)明實施提供的移動終端的結(jié)構圖,能實現(xiàn)實施例一和實施例二音頻數(shù)據(jù)解碼的控制方法的細節(jié),并達到相同的效果。如圖3所示,移動終端300包括:
封裝模塊301,用于將DSD音頻數(shù)據(jù)封裝成用于音頻硬件解碼的音頻數(shù)據(jù)包。
識別模塊302,用于識別所述音頻播放器使用的音頻解碼方式。
轉(zhuǎn)換模塊303,用于若識別所述音頻解碼方式為音頻軟件解碼方式,則對所述音頻數(shù)據(jù)包進行解封裝,得到所述DSD音頻數(shù)據(jù),并將所述DSD音頻數(shù)據(jù)轉(zhuǎn)換為PCM音頻數(shù)據(jù)。
第一解碼模塊304,用于使用音頻軟件解碼方式對所述PCM音頻數(shù)據(jù)進行解碼。
第二解碼模塊305,用于若識別所述音頻解碼方式為音頻硬件解碼方式,則使用音頻硬件解碼方式對音頻數(shù)據(jù)包進行解碼。
可選的,如圖4所示,所述移動終端300還包括:
檢測模塊306,用于檢測與所述移動終端連接的音頻播放設備是否有斷開的操作。
所述識別模塊302用于若檢測與所述移動終端連接的音頻播放設備有斷開的操作,識別所述音頻播放器使用的音頻解碼方式。
可選的,如圖5所示,所述識別模塊302包括:
第一檢測單元3021,用于檢測所述音頻播放器的高保真播放狀態(tài)。
第二檢測單元3022,用于檢測所述音頻播放器的DSD硬件解碼狀態(tài)。
第一識別單元3023,用于若所述音頻播放器的高保真播放狀態(tài)以及所述音頻播放器的DSD硬件解碼狀態(tài)處于開啟狀態(tài),識別所述音頻播放器使用音頻硬件解碼方式。
可選的,如圖6所示,所述識別模塊302包括:
第三檢測單元3024,用于檢測所述音頻播放器的高保真播放狀態(tài)。
第四檢測單元3025,用于檢測所述音頻播放器的DSD硬件解碼狀態(tài)。
第二識別單元3026,用于若所述音頻播放器的高保真播放處于關閉狀態(tài)或者所述音頻播放器的DSD硬件解碼狀態(tài)處于關閉狀態(tài),識別所述音頻播放器使用音頻軟件解碼方式。
可選的,所述轉(zhuǎn)換模塊303用于若識別所述音頻解碼方式為音頻軟件解碼方式,則對所述音頻數(shù)據(jù)包進行解封裝,得到所述DSD音頻數(shù)據(jù),并以預設采樣率對所述DSD音頻數(shù)據(jù)進行采樣處理,以得到PCM音頻數(shù)據(jù)。
移動終端300能夠?qū)崿F(xiàn)前述實施例中移動終端實現(xiàn)的各個過程,且能達到相同的技術效果,為避免重復,這里不再贅述。
本發(fā)明實施例的移動終端300,將DSD音頻數(shù)據(jù)封裝成用于音頻硬件解碼的音頻數(shù)據(jù)包;識別所述音頻播放器使用的音頻解碼方式;若識別所述音頻解碼方式為音頻軟件解碼方式,則對所述音頻數(shù)據(jù)包進行解封裝,得到所述DSD音頻數(shù)據(jù),并將所述DSD音頻數(shù)據(jù)轉(zhuǎn)換為PCM音頻數(shù)據(jù);使用音頻軟件解碼方式對所述PCM音頻數(shù)據(jù)進行解碼;若識別所述音頻解碼方式為音頻硬件解碼方式,則使用音頻硬件解碼方式對音頻數(shù)據(jù)包進行解碼。這樣,當播放器使用的音頻解碼方式發(fā)生切換時,不用從新傳輸DSD音頻數(shù)據(jù),根據(jù)當前的音頻解碼方式來對音頻數(shù)據(jù)包進行解碼,從而實現(xiàn)了軟硬件解碼切換時連續(xù)傳輸DSD音頻數(shù)據(jù),并提高了用戶體驗。
第四實施例
參見圖7,圖7是本發(fā)明實施提供的移動終端的結(jié)構圖,能實現(xiàn)實施例一中的應用程序顯示方法的細節(jié),并達到相同的效果。如圖7所示,移動終端700包括:至少一個處理器701、存儲器702、至少一個網(wǎng)絡接口704和用戶接口703。移動終端700中的各個組件通過總線系統(tǒng)705耦合在一起。可理解,總線系統(tǒng)705用于實現(xiàn)這些組件之間的連接通信??偩€系統(tǒng)705除包括數(shù)據(jù)總線之外,還包括電源總線、控制總線和狀態(tài)信號總線。但是為了清楚說明起見,在圖7中將各種總線都標為總線系統(tǒng)705。
其中,用戶接口703可以包括顯示器、鍵盤或者點擊設備(例如,鼠標,軌跡球(trackball)、觸感板或者觸摸屏等。
可以理解,本發(fā)明實施例中的存儲器702可以是易失性存儲器或非易失性存儲器,或可包括易失性和非易失性存儲器兩者。其中,非易失性存儲器可以是只讀存儲器(Read-Only Memory,ROM)、可編程只讀存儲器(Programmable ROM,PROM)、可擦除可編程只讀存儲器(Erasable PROM,EPROM)、電可擦除可編程只讀存儲器(Electrically EPROM,EEPROM)或閃存。易失性存儲器可以是隨機存取存儲器(Random Access Memory,RAM),其用作外部高速緩存。通過示例性但不是限制性說明,許多形式的RAM可用,例如靜態(tài)隨機存取存儲器(Static RAM,SRAM)、動態(tài)隨機存取存儲器(Dynamic RAM,DRAM)、同步動態(tài)隨機存取存儲器(Synchronous DRAM,SDRAM)、雙倍數(shù)據(jù)速率同步動態(tài)隨機存取存儲器(Double Data Rate SDRAM,DDRSDRAM)、增強型同步動態(tài)隨機存取存儲器(Enhanced SDRAM,ESDRAM)、同步連接動態(tài)隨機存取存儲器(Synch link DRAM,SLDRAM)和直接內(nèi)存總線隨機存取存儲器(Direct Rambus RAM,DRRAM)。本文描述的系統(tǒng)和方法的存儲器702旨在包括但不限于這些和任意其它適合類型的存儲器。
在一些實施方式中,存儲器702存儲了如下的元素,可執(zhí)行模塊或者數(shù)據(jù)結(jié)構,或者他們的子集,或者他們的擴展集:操作系統(tǒng)7021和應用程序7022。
其中,操作系統(tǒng)7021,包含各種系統(tǒng)程序,例如框架層、核心庫層、驅(qū)動層等,用于實現(xiàn)各種基礎業(yè)務以及處理基于硬件的任務。應用程序7022,包含各種應用程序,例如媒體播放器(Media Player)、瀏覽器(Browser)等,用于實現(xiàn)各種應用業(yè)務。實現(xiàn)本發(fā)明實施例方法的程序可以包含在應用程序7022中。
在本發(fā)明實施例中,通過調(diào)用存儲器702存儲的程序或指令,具體的,可以是應用程序7022中存儲的程序或指令,處理器701用于:
將DSD音頻數(shù)據(jù)封裝成用于音頻硬件解碼的音頻數(shù)據(jù)包;
識別所述音頻播放器使用的音頻解碼方式;
若識別所述音頻解碼方式為音頻軟件解碼方式,則對所述音頻數(shù)據(jù)包進行解封裝,得到所述DSD音頻數(shù)據(jù),并將所述DSD音頻數(shù)據(jù)轉(zhuǎn)換為PCM音頻數(shù)據(jù);
使用音頻軟件解碼方式對所述PCM音頻數(shù)據(jù)進行解碼;
若識別所述音頻解碼方式為音頻硬件解碼方式,則使用音頻硬件解碼方式對音頻數(shù)據(jù)包進行解碼。
上述本發(fā)明實施例揭示的方法可以應用于處理器701中,或者由處理器701實現(xiàn)。處理器701可能是一種集成電路芯片,具有信號的處理能力。在實現(xiàn)過程中,上述方法的各步驟可以通過處理器701中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器701可以是通用處理器、數(shù)字信號處理器(Digital Signal Processor,DSP)、專用集成電路(Application Specific Integrated Circuit,ASIC)、現(xiàn)成可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實現(xiàn)或者執(zhí)行本發(fā)明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。結(jié)合本發(fā)明實施例所公開的方法的步驟可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領域成熟的存儲介質(zhì)中。該存儲介質(zhì)位于存儲器702,處理器701讀取存儲器702中的信息,結(jié)合其硬件完成上述方法的步驟。
可以理解的是,本文描述的這些實施例可以用硬件、軟件、固件、中間件、微碼或其組合來實現(xiàn)。對于硬件實現(xiàn),處理單元可以實現(xiàn)在一個或多個專用集成電路(Application Specific Integrated Circuits,ASIC)、數(shù)字信號處理器(Digital Signal Processing,DSP)、數(shù)字信號處理設備(DSP Device,DSPD)、可編程邏輯設備(Programmable Logic Device,PLD)、現(xiàn)場可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)、通用處理器、控制器、微控制器、微處理器、用于執(zhí)行本申請所述功能的其它電子單元或其組合中。
對于軟件實現(xiàn),可通過執(zhí)行本文所述功能的模塊(例如過程、函數(shù)等)來實現(xiàn)本文所述的技術。軟件代碼可存儲在存儲器中并通過處理器執(zhí)行。存儲器可以在處理器中或在處理器外部實現(xiàn)。
可選的,在所述將DSD音頻數(shù)據(jù)封裝成用于音頻硬件解碼的音頻數(shù)據(jù)包的步驟之后,所述檢測所述音頻播放器使用的音頻解碼方式的步驟之前,處理器701還用于檢測與所述移動終端連接的音頻播放設備是否有斷開的操作;
若檢測與所述移動終端連接的音頻播放設備有斷開的操作,識別所述音頻播放器使用的音頻解碼方式。
可選的,處理器701用于執(zhí)行所述識別所述音頻播放器使用的音頻解碼方式的步驟,包括:
檢測所述音頻播放器的高保真播放狀態(tài);
檢測所述音頻播放器的DSD硬件解碼狀態(tài);
若所述音頻播放器的高保真播放狀態(tài)以及所述音頻播放器的DSD硬件解碼狀態(tài)處于開啟狀態(tài),識別所述音頻播放器使用音頻硬件解碼方式。
可選的,處理器701用于執(zhí)行所述識別所述音頻播放器使用的音頻解碼方式的步驟,包括:
檢測所述音頻播放器的高保真播放狀態(tài);
檢測所述音頻播放器的DSD硬件解碼狀態(tài);
若所述音頻播放器的高保真播放處于關閉狀態(tài)或者所述音頻播放器的DSD硬件解碼狀態(tài)處于關閉狀態(tài),識別所述音頻播放器使用音頻軟件解碼方式。
可選的,處理器701用于執(zhí)行所述將所述DSD音頻數(shù)據(jù)轉(zhuǎn)換為PCM音頻數(shù)據(jù)的步驟,包括:
以預設采樣率對所述DSD音頻數(shù)據(jù)進行采樣處理,以得到PCM音頻數(shù)據(jù)。
移動終端700能夠?qū)崿F(xiàn)前述實施例中移動終端實現(xiàn)的各個過程,且能達到相同的技術效果,為避免重復,這里不再贅述。
本發(fā)明實施例的移動終端700,將DSD音頻數(shù)據(jù)封裝成用于音頻硬件解碼的音頻數(shù)據(jù)包;識別所述音頻播放器使用的音頻解碼方式;若識別所述音頻解碼方式為音頻軟件解碼方式,則對所述音頻數(shù)據(jù)包進行解封裝,得到所述DSD音頻數(shù)據(jù),并將所述DSD音頻數(shù)據(jù)轉(zhuǎn)換為PCM音頻數(shù)據(jù);使用音頻軟件解碼方式對所述PCM音頻數(shù)據(jù)進行解碼;若識別所述音頻解碼方式為音頻硬件解碼方式,則使用音頻硬件解碼方式對音頻數(shù)據(jù)包進行解碼。這樣,當播放器使用的音頻解碼方式發(fā)生切換時,不用從新傳輸DSD音頻數(shù)據(jù),根據(jù)當前的音頻解碼方式來對音頻數(shù)據(jù)包進行解碼,從而實現(xiàn)了軟硬件解碼切換時連續(xù)傳輸DSD音頻數(shù)據(jù)。
本領域普通技術人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請所提供的實施例中,應該理解到,所揭露的裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本發(fā)明實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應以權利要求的保護范圍為準。