本技術(shù)涉及計算機,尤其涉及音視頻領(lǐng)域,具體涉及一種音頻處理方法、一種音頻處理裝置、一種計算機設(shè)備、一種計算機可讀存儲介質(zhì)及一種計算機程序產(chǎn)品。
背景技術(shù):
1、隨著多媒體技術(shù)的快速發(fā)展,針對音頻的采集和播放成為眾多應(yīng)用功能(如直播、會議或語音通話等)或平臺(如安卓或蘋果等)的基礎(chǔ)服務(wù)需求。
2、目前,支持針對不同應(yīng)用功能或不同平臺的音頻采集播放進行個性化開發(fā);如針對不同應(yīng)用平臺開發(fā)適配相應(yīng)平臺的音頻采集播放,以實現(xiàn)平臺和音頻采集播放的兼容和適配。然而,這種針對不同應(yīng)用或平臺進行音頻采集播放的專屬開發(fā)方式,會面臨不同功能或平臺中音頻采集播放的重復(fù)開發(fā),導(dǎo)致針對音頻采集播放的開發(fā)成本高。
技術(shù)實現(xiàn)思路
1、本技術(shù)實施例提供一種音頻處理方法、裝置、設(shè)備、介質(zhì)及程序產(chǎn)品,能夠?qū)崿F(xiàn)跨平臺的音頻采集播放,避免音頻采集播放服務(wù)的重復(fù)開發(fā)。
2、一方面,本技術(shù)實施例提供了一種音頻處理方法,該方法應(yīng)用于音頻控制系統(tǒng),音頻控制系統(tǒng)用于為終端設(shè)備提供音頻采集播放服務(wù);音頻控制系統(tǒng)中預(yù)存多種終端設(shè)備對應(yīng)的配置參數(shù),多種終端設(shè)備中每種終端設(shè)備對應(yīng)的配置參數(shù),是為確保相應(yīng)終端設(shè)備和音頻控制系統(tǒng)之間的適配性預(yù)先配置至音頻控制系統(tǒng)的;該方法包括:
3、接收目標終端設(shè)備發(fā)送的音頻操作請求;音頻操作請求用于請求音頻控制系統(tǒng)執(zhí)行關(guān)于音頻采集播放服務(wù)的音頻操作;目標終端設(shè)備是多種終端設(shè)備中任一種;
4、響應(yīng)于音頻操作請求獲取目標終端設(shè)備的設(shè)備信息;設(shè)備信息包括硬件信息和系統(tǒng)信息,硬件信息用于指示目標終端設(shè)備中部署的硬件設(shè)備的信息,系統(tǒng)信息用于指示目標終端設(shè)備中部署的操作系統(tǒng)的系統(tǒng)信息;
5、根據(jù)目標終端設(shè)備的設(shè)備信息,從音頻控制系統(tǒng)確定與目標終端設(shè)備相適配的配置參數(shù);配置參數(shù)是基于設(shè)備信息所包括硬件信息和軟件信息預(yù)先設(shè)置的;
6、按照與目標終端設(shè)備相適配的配置參數(shù)執(zhí)行音頻操作請求所請求的音頻操作。
7、另一方面,本技術(shù)實施例提供了一種音頻處理裝置,該裝置搭載有音頻控制系統(tǒng),音頻控制系統(tǒng)用于為終端設(shè)備提供音頻采集播放服務(wù);音頻控制系統(tǒng)中預(yù)存多種終端設(shè)備對應(yīng)的配置參數(shù),多種終端設(shè)備中每種終端設(shè)備對應(yīng)的配置參數(shù),是為確保相應(yīng)終端設(shè)備和音頻控制系統(tǒng)之間的適配性預(yù)先配置至音頻控制系統(tǒng)的;該裝置包括:
8、接收單元,用于接收目標終端設(shè)備發(fā)送的音頻操作請求;音頻操作請求用于請求音頻控制系統(tǒng)執(zhí)行關(guān)于音頻采集播放服務(wù)的音頻操作;目標終端設(shè)備是多種終端設(shè)備中任一種;
9、處理單元,用于響應(yīng)于音頻操作請求獲取目標終端設(shè)備的設(shè)備信息;設(shè)備信息包括硬件信息和系統(tǒng)信息,硬件信息用于指示目標終端設(shè)備中部署的硬件設(shè)備的信息,系統(tǒng)信息用于指示目標終端設(shè)備中部署的操作系統(tǒng)的系統(tǒng)信息;
10、處理單元,還用于根據(jù)目標終端設(shè)備的設(shè)備信息,從音頻控制系統(tǒng)確定與目標終端設(shè)備相適配的配置參數(shù);配置參數(shù)是基于設(shè)備信息所包括硬件信息和軟件信息預(yù)先設(shè)置的;
11、處理單元,還用于按照與目標終端設(shè)備相適配的配置參數(shù)執(zhí)行音頻操作請求所請求的音頻操作。
12、在一種實現(xiàn)方式中,音頻控制系統(tǒng)中包括平臺接口層,平臺接口層封裝有多種平臺類型對應(yīng)的平臺接口;系統(tǒng)信息包括目標終端設(shè)備所搭載操作系統(tǒng)的平臺類型;與目標終端設(shè)備相適配的配置參數(shù)包括目標平臺接口;
13、處理單元,用于根據(jù)目標終端設(shè)備的設(shè)備信息,從音頻控制系統(tǒng)確定與目標終端設(shè)備相適配的配置參數(shù)時,具體用于:
14、根據(jù)目標終端設(shè)備所搭載操作系統(tǒng)的平臺類型,在平臺接口層中選擇平臺類型和目標終端設(shè)備所搭載操作系統(tǒng)的平臺類型相同的目標平臺接口;
15、其中,目標平臺接口作為目標終端設(shè)備和音頻控制系統(tǒng)進行通信傳輸?shù)南到y(tǒng)接口。
16、在一種實現(xiàn)方式中,系統(tǒng)信息還包括目標終端設(shè)備所搭載操作系統(tǒng)的系統(tǒng)版本;目標終端設(shè)備中部署的硬件設(shè)備包括音頻設(shè)備,硬件信息包括音頻設(shè)備的子設(shè)備信息;與目標終端設(shè)備相適配的配置參數(shù)包括與系統(tǒng)版本兼容的目標音頻格式;處理單元,還用于:
17、根據(jù)目標終端設(shè)備所搭載操作系統(tǒng)的系統(tǒng)版本,從音頻控制系統(tǒng)中獲取與系統(tǒng)版本兼容的目標音頻格式;
18、其中,目標音頻格式是根據(jù)音頻控制系統(tǒng)內(nèi)部各模塊之間的協(xié)調(diào)性,以及音頻控制系統(tǒng)和系統(tǒng)版本之間的兼容性預(yù)先配置的;目標音頻格式包括以下至少一種:音頻采樣率、音頻模式、音頻通道數(shù)以及音頻數(shù)據(jù)對應(yīng)的回調(diào)函數(shù)的傳輸間隔時間。
19、在一種實現(xiàn)方式中,與目標終端設(shè)備相適配的配置參數(shù)包括目標平臺接口;處理單元,用于按照與目標終端設(shè)備相適配的配置參數(shù)執(zhí)行所述音頻操作請求所請求的音頻操作時,具體用于:
20、獲取與目標終端設(shè)備相適配的配置參數(shù)所包括的目標平臺接口的實現(xiàn)類;實現(xiàn)類用于指示音頻控制系統(tǒng)通過目標平臺接口提供音頻采集播放服務(wù)的服務(wù)邏輯;
21、對目標平臺接口的實現(xiàn)類進行實例化,以及注冊回調(diào)函數(shù),以在目標終端設(shè)備中啟動音頻采集播放線程;
22、在音頻采集播放線程中執(zhí)行音頻操作請求所請求的音頻操作。
23、在一種實現(xiàn)方式中,音頻采集播放服務(wù)包括音頻采集和音頻播放;音頻操作請求用于請求音頻控制系統(tǒng)執(zhí)行關(guān)于音頻播放的音頻操作,音頻采集播放線程為音頻播放線程;處理單元,用于在音頻采集播放線程中執(zhí)行音頻操作請求所請求的音頻操作時,具體用于:
24、在音頻播放線程中,通過回調(diào)函數(shù)從遠端獲取待播放的第一音頻數(shù)據(jù);
25、將第一音頻數(shù)據(jù)發(fā)送至目標終端設(shè)備中的音頻設(shè)備進行播放;以及,
26、將第一音頻數(shù)據(jù)緩存至音頻控制系統(tǒng)中的緩存空間,緩存空間中的第一音頻數(shù)據(jù)作為音頻采集過程中的回聲消除參考信號。
27、在一種實現(xiàn)方式中,系統(tǒng)信息包括目標終端設(shè)備所搭載操作系統(tǒng)的系統(tǒng)版本;處理單元,還用于:
28、檢測目標終端設(shè)備所搭載操作系統(tǒng)的系統(tǒng)版本是否達到版本閾值;
29、若目標終端設(shè)備所搭載操作系統(tǒng)的系統(tǒng)版本達到版本閾值,則觸發(fā)執(zhí)行將第一音頻數(shù)據(jù)發(fā)送至目標終端設(shè)備中的音頻設(shè)備進行播放的步驟;其中,目標終端設(shè)備在播放第一音頻數(shù)據(jù)之前,使用目標終端設(shè)備中部署的采樣轉(zhuǎn)換模塊對第一音頻數(shù)據(jù)進行音頻格式轉(zhuǎn)換;或者,
30、若目標終端設(shè)備所搭載操作系統(tǒng)的系統(tǒng)版本未達到版本閾值,則使用音頻控制系統(tǒng)中部署的采樣轉(zhuǎn)換模塊對第一音頻數(shù)據(jù)進行音頻格式轉(zhuǎn)換,并觸發(fā)執(zhí)行將第一音頻數(shù)據(jù)發(fā)送至目標終端設(shè)備中的音頻設(shè)備進行播放的步驟;
31、其中,音頻格式轉(zhuǎn)換后的第一音頻數(shù)據(jù)的音頻格式,與目標終端設(shè)備要求的音頻格式相同。
32、在一種實現(xiàn)方式中,音頻采集播放服務(wù)包括音頻采集和音頻播放;音頻操作請求用于請求音頻控制系統(tǒng)執(zhí)行關(guān)于音頻采集的音頻操作,音頻采集播放線程為音頻采集線程;處理單元,用于在音頻采集播放線程中執(zhí)行音頻操作請求所請求的音頻操作時,具體用于:
33、在音頻采集線程中,通過回調(diào)函數(shù)獲取目標終端設(shè)備中音頻設(shè)備采集的第二音頻數(shù)據(jù);
34、對第二音頻數(shù)據(jù)進行音頻處理,得到處理好的第二音頻數(shù)據(jù);
35、將處理好的第二音頻數(shù)據(jù)通過回調(diào)函數(shù)傳輸至遠端。
36、在一種實現(xiàn)方式中,系統(tǒng)信息包括目標終端設(shè)備所搭載操作系統(tǒng)的系統(tǒng)版本;處理單元,還用于:
37、檢測目標終端設(shè)備所搭載操作系統(tǒng)的系統(tǒng)版本是否達到版本閾值;
38、若目標終端設(shè)備所搭載操作系統(tǒng)的系統(tǒng)版本達到版本閾值,則觸發(fā)執(zhí)行對第二音頻數(shù)據(jù)進行音頻處理,得到處理好的第二音頻數(shù)據(jù)的步驟;其中,第二音頻數(shù)據(jù)被回調(diào)至音頻控制系統(tǒng)之前,目標終端設(shè)備中的采樣轉(zhuǎn)換模塊對第二音頻數(shù)據(jù)進行音頻格式轉(zhuǎn)換;或者,
39、若目標終端設(shè)備所搭載操作系統(tǒng)的系統(tǒng)版本未達到版本閾值,則使用音頻控制系統(tǒng)中部署的采樣轉(zhuǎn)換模塊對第二音頻數(shù)據(jù)進行音頻格式轉(zhuǎn)換,并觸發(fā)執(zhí)行對所述第二音頻數(shù)據(jù)進行音頻處理,得到處理好的第二音頻數(shù)據(jù)的步驟;
40、其中,音頻格式轉(zhuǎn)換后的第二音頻數(shù)據(jù)的音頻格式,與音頻控制系統(tǒng)要求的音頻格式相同。
41、在一種實現(xiàn)方式中,目標終端設(shè)備中包括一個或多個音頻設(shè)備,音頻設(shè)備用于音頻數(shù)據(jù)的采集和播放;處理單元,還用于:
42、啟動目標終端設(shè)備中的目標音頻設(shè)備;目標音頻設(shè)備是一個或多個音頻設(shè)備中處于選中狀態(tài)的音頻設(shè)備;目標音頻設(shè)備是默認的,或者,由用戶在應(yīng)用程序提供的選擇窗口或者目標終端設(shè)備提供的設(shè)置界面中選擇的;
43、獲取目標音頻設(shè)備的啟動狀態(tài),并在啟動狀態(tài)指示目標音頻設(shè)備啟動成功時,檢測回調(diào)函數(shù)的工作狀態(tài);
44、若回調(diào)函數(shù)的工作狀態(tài)指示回調(diào)函數(shù)處于正常工作狀態(tài),則打印啟動成功日志。
45、在一種實現(xiàn)方式中,處理單元,還用于:
46、若啟動狀態(tài)指示目標音頻設(shè)備啟動失敗,或者回調(diào)函數(shù)的工作狀態(tài)指示回調(diào)函數(shù)處于非正常工作狀態(tài),則對目標音頻設(shè)備進行重啟處理,并記錄重啟次數(shù),并在重啟次數(shù)超過次數(shù)閾值時,結(jié)束音頻采集播放服務(wù),且打印啟動失敗日志;或者,
47、若啟動狀態(tài)指示目標音頻設(shè)備啟動失敗,或者回調(diào)函數(shù)的工作狀態(tài)指示回調(diào)函數(shù)處于非正常工作狀態(tài),則控制目標終端設(shè)備輸出提示信息,提示信息用于提示對象重新選擇新的音頻設(shè)備作為音頻采集或音頻播放的設(shè)備;并接收針對提示信息的重選操作,啟動重選操作所指示的音頻設(shè)備。
48、在一種實現(xiàn)方式中,目標終端設(shè)備中包括一個或多個音頻設(shè)備,音頻設(shè)備用于音頻數(shù)據(jù)的采集和播放;處理單元,還用于:
49、接收目標終端設(shè)備發(fā)送的設(shè)備切換事件,設(shè)備切換事件用于指示目標終端設(shè)備中的音頻設(shè)備發(fā)生改變;
50、根據(jù)設(shè)備切換事件進行音頻設(shè)備的切換處理;
51、其中,切換處理包括以下任一種:
52、若設(shè)備切換事件指示目標終端設(shè)備中處于選中狀態(tài)的目標音頻設(shè)備發(fā)生改變,則切換音頻設(shè)備;
53、若設(shè)備切換事件指示目標終端設(shè)備中存在音頻設(shè)備與目標終端設(shè)備之間斷開連接,則查詢目標終端設(shè)備的設(shè)備列表,設(shè)備列表用于存儲部署于目標終端設(shè)備中的音頻設(shè)備的設(shè)備標識;若設(shè)備列表為空,則停止音頻采集播放服務(wù)且打印服務(wù)失敗日志;若設(shè)備列表為非空,則檢測被斷開連接的音頻設(shè)備是否為處于選中狀態(tài)的目標音頻設(shè)備;若是,則切換至新的音頻設(shè)備;
54、若設(shè)備切換事件指示目標終端設(shè)備被添加新的音頻設(shè)備,則查詢設(shè)備列表;若設(shè)備列表中僅包括新的音頻設(shè)備,則切換至新的音頻設(shè)備。
55、在一種實現(xiàn)方式中,處理單元,用于響應(yīng)于音頻操作請求獲取目標終端設(shè)備的設(shè)備信息時,具體用于:
56、響應(yīng)于音頻操作請求,從目標終端設(shè)備的主線程中獲取目標終端設(shè)備的設(shè)備信息;
57、其中,音頻控制系統(tǒng)部署于目標終端設(shè)備,音頻操作請求是對象針對目標終端設(shè)備提供的音頻功能執(zhí)行啟動操作時產(chǎn)生的,主線程是指執(zhí)行目標終端設(shè)備的音頻功能的線程;或者,
58、音頻控制系統(tǒng)部署于目標終端設(shè)備中運行的應(yīng)用程序中,音頻操作請求是對象針對應(yīng)用程序提供的目標功能執(zhí)行啟動操作時產(chǎn)生的,主線程是指執(zhí)行應(yīng)用程序中的目標功能的線程;目標功能包括以下至少一種:直播功能、會議功能、語音通話功能及音樂播放功能。
59、另一方面,本技術(shù)實施例提供一種終端設(shè)備,該設(shè)備包括:
60、處理器,適于執(zhí)行計算機程序;
61、計算機可讀存儲介質(zhì),計算機可讀存儲介質(zhì)中存儲有計算機程序,計算機程序被處理器執(zhí)行時,實現(xiàn)如上述的音頻處理方法。
62、另一方面,本技術(shù)實施例提供一種計算機可讀存儲介質(zhì),該計算機可讀存儲介質(zhì)存儲有計算機程序,計算機程序適于由處理器加載并執(zhí)行如上述的音頻處理方法。
63、另一方面,本技術(shù)實施例提供了一種計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括計算機指令,該計算機指令存儲在計算機可讀存儲介質(zhì)中。該計算機指令被處理器執(zhí)行時實現(xiàn)如上述的音頻處理方法。
64、本技術(shù)實施例中,提供一種音頻控制系統(tǒng),該音頻控制系統(tǒng)中預(yù)先存儲有多種終端設(shè)備對應(yīng)的配置參數(shù),每種終端設(shè)備對應(yīng)的配置參數(shù)是為確保相應(yīng)終端設(shè)備和音頻控制系統(tǒng)之間的適配性預(yù)先配置好的。這樣,音頻控制系統(tǒng)運行在不同終端設(shè)備(具體是搭載不同操作/平臺的終端設(shè)備)上,不同終端設(shè)備均可以和音頻控制系統(tǒng)之間通過預(yù)存的相應(yīng)配置參數(shù)實現(xiàn)音頻采集播放。以任一終端設(shè)備表示為目標終端設(shè)備為例,在音頻控制系統(tǒng)接收到該目標終端設(shè)備發(fā)送的音頻操作請求時,可以響應(yīng)于該音頻操作請求從目標終端設(shè)備中獲取該目標終端設(shè)備的設(shè)備信息,進而基于該目標終端設(shè)備的設(shè)備信息從音頻控制系統(tǒng)中確定與該終端設(shè)備相適配的配置參數(shù),這樣就可以基于該配置參數(shù)執(zhí)行音頻操作請求所請求的音頻操作(如進行音頻采集的操作或音頻播放的操作)。由此可見,本技術(shù)實施例提供的音頻控制系統(tǒng)是一種支持跨平臺提供音頻采集播放服務(wù)的控制系統(tǒng);在不同終端設(shè)備使用該音頻控制系統(tǒng)進行音頻采集播放時,能夠從音頻控制系統(tǒng)中預(yù)存的配置參數(shù)中為相應(yīng)終端設(shè)備確定適配的配置參數(shù)進行音頻采集播放,使得音頻控制系統(tǒng)具有兼容不同平臺和操作系統(tǒng)的優(yōu)勢。此外,相比于針對不同平臺開發(fā)音頻采集播放服務(wù)而言,本技術(shù)實施例這種一次性開發(fā)在音頻控制系統(tǒng)中集成與不同平臺相適配的配置參數(shù)的方式,能夠避免針對基礎(chǔ)服務(wù)“音頻采集播放服務(wù)”的重復(fù)和多次開發(fā),提高開發(fā)效率的同時,有效降低開發(fā)成本。