国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      終端和音頻處理方法

      文檔序號:7865818閱讀:229來源:國知局
      專利名稱:終端和音頻處理方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及音頻處理技術(shù)領(lǐng)域,具體而言,涉及一種終端和一種音頻處理方法。
      背景技術(shù)
      隨著移動網(wǎng)絡(luò)的發(fā)展,通過移動網(wǎng)絡(luò)進(jìn)行語音通話已經(jīng)變得越來越普遍,例如目前比較常見的VOIP (voice over internet protocal,語音數(shù)據(jù)通過網(wǎng)絡(luò)進(jìn)行通話)和 VOLTE (voice over LTE,語音通過LTE移動網(wǎng)絡(luò)進(jìn)行通話)。
      對于移動終端上較為流行的android系統(tǒng)平臺來說,為實現(xiàn)V0IP/V0LTE應(yīng)用正常發(fā)聲且與其他類型聲音沖突,現(xiàn)有技術(shù)的一種方案如下
      方案I,如圖I所示,使用Audioflinger (android的音頻服務(wù),通過混音和重采樣來實現(xiàn)聲音的并發(fā))進(jìn)行播放聲音,V0IP/V0LTE應(yīng)用相當(dāng)于播放器。這種方案程序簡單, 容易與其他聲音并發(fā)。但是其缺陷在于采用了 Audioflinger而不使用direct output (Audioflinger音頻服務(wù)里的一個子線程,繞過混音和重采用,直接把音頻數(shù)據(jù)流寫到HAL (hardwareabstract layer,硬件抽象層)層進(jìn)行播放)方式,經(jīng)歷重采樣和混音,通話延遲就會加大50ms左右。傳統(tǒng)語音通話延遲時間必須小于170ms,目前V0IP/V0LTE延遲一般是 200ms以上,達(dá)不到傳統(tǒng)語音通話低延遲的要求。
      因此,需要一種新的音頻處理技術(shù),在保證V0PI/V0LTE可以正常發(fā)聲,且不與其他類型聲音產(chǎn)生沖突的情況下,滿足傳統(tǒng)語音通話低延遲的要求。發(fā)明內(nèi)容
      本發(fā)明正是基于上述問題,提出了一種新的音頻處理技術(shù),在保證V0PI/V0LTE可以正常發(fā)聲,且不與其他類型聲音產(chǎn)生沖突的情況下,滿足傳統(tǒng)語音通話低延遲的要求。
      有鑒于此,本發(fā)明提出了一種終端,包括第一應(yīng)用控制模塊,將第一應(yīng)用生成的第一音頻數(shù)據(jù)流發(fā)送至硬件抽象層;第二應(yīng)用控制模塊,將第二應(yīng)用生成的第二音頻數(shù)據(jù)流發(fā)送至音頻服務(wù);音頻服務(wù)控制模塊,通過所述音頻服務(wù)對所述第二音頻數(shù)據(jù)流進(jìn)行處理后,再發(fā)送至所述硬件抽象層;硬件抽象層控制模塊,在所述硬件抽象層同時接收所述第一音頻數(shù)據(jù)流和處理后的所述第二音頻數(shù)據(jù)流,并發(fā)送至聲卡;聲卡控制模塊,通過所述聲卡對所述第一音頻數(shù)據(jù)流和所述第二音頻數(shù)據(jù)流進(jìn)行混音處理并輸出播放。
      在該技術(shù)方案中,第一數(shù)據(jù)流和第二數(shù)據(jù)流來源于不同的應(yīng)用。比如,第一數(shù)據(jù)流可能來源于VOIP和/或VOLTE應(yīng)用,第二數(shù)據(jù)流可能來源于播放器等應(yīng)用。通過本發(fā)明的技術(shù)方案,可以在HAL層同時接收第一音頻數(shù)據(jù)流和第二音頻數(shù)據(jù)流,一起發(fā)送至聲卡以對第一音頻數(shù)據(jù)流和第二音頻數(shù)據(jù)流進(jìn)行混音處理,并播放出來,并且本方案的混音操作是通過硬件來實現(xiàn)的,從而降低語音延遲。
      在上述技術(shù)方案中,優(yōu)選地,所述硬件抽象層控制模塊將所述第一音頻數(shù)據(jù)流發(fā)送至所述聲卡的第一數(shù)字音頻接口,將所述第二音頻數(shù)據(jù)流發(fā)送至所述聲卡的第二數(shù)字音頻接口。
      在該技術(shù)方案中,由于大部分聲卡支持多路數(shù)字音頻接口(如I2S (內(nèi)部整合電路聲音)、PCM (脈沖編碼調(diào)制)、SLIMBUS (低功耗芯片間串行媒體總線))同時輸出,利用這個特性,硬件抽象層可同時接收第一音頻數(shù)據(jù)流和第二音頻數(shù)據(jù)流并發(fā)送到兩路不同的數(shù)字音頻接口,而上述聲卡可實現(xiàn)兩路數(shù)字音頻接口同時進(jìn)行播放,從而實現(xiàn)對兩路音頻數(shù)據(jù)流的混音,此為全硬件混音方案,軟件沒有任何混音工作量,延遲最少,適用于支持多路數(shù)字音頻接口的聲卡終端。
      在上述技術(shù)方案中,優(yōu)選地,所述第一應(yīng)用控制模塊將所述第一音頻數(shù)據(jù)流作為第一聲道的音頻數(shù)據(jù)流發(fā)送至所述硬件抽象層;所述音頻服務(wù)控制模塊將所述第二音頻數(shù)據(jù)流作為第二聲道的音頻數(shù)據(jù)流發(fā)送到所述硬件抽象層;所述聲卡控制模塊通過所述聲卡對所述第一音頻數(shù)據(jù)流和所述第二音頻數(shù)據(jù)流進(jìn)行混音處理,并通過單聲道輸出播放。
      在該技術(shù)方案中,第一音頻數(shù)據(jù)流和第二音頻數(shù)據(jù)流通過不同的聲道被發(fā)送到硬件抽象層。比如,左聲道發(fā)送第一音頻數(shù)據(jù)流,右聲道發(fā)送第二音頻數(shù)據(jù)流,則硬件抽象層可同時接收兩個數(shù)據(jù)流,聲卡接到硬件抽象層發(fā)來的兩個數(shù)據(jù)流以后,對兩個音頻數(shù)據(jù)流進(jìn)行混音處理,并通過單聲道進(jìn)行播放,這樣也實現(xiàn)了對兩個數(shù)據(jù)流進(jìn)行混音,并可以實現(xiàn)同時播放的效果。此為全硬件混音方案,軟件沒有任何混音工作量,適用于任意聲卡終端。
      在上述技術(shù)方案中,優(yōu)選地,所述聲卡控制模塊在所述第一應(yīng)用工作時,將所述聲卡由原有播放模式更改為 單聲道播放模式,在所述第一應(yīng)用停止工作時,將所述聲卡由所述單聲道播放模式恢復(fù)為所述原有模式。
      在該技術(shù)方案中,為了能實現(xiàn)對兩個來自不同應(yīng)用的數(shù)據(jù)流進(jìn)行混音播放,在第一應(yīng)用工作時,采用單聲道模式進(jìn)行播放。但是由于單聲道音質(zhì)稍差,所以為了提高音質(zhì), 在第一應(yīng)用停止工作時,重新恢復(fù)成原有模式,例如立體聲模式。
      在上述技術(shù)方案中,優(yōu)選地,所述第一應(yīng)用包括VOIP和/或VOLTE應(yīng)用,所述第二應(yīng)用包括播放器,所述音頻服務(wù)用于對音頻數(shù)據(jù)流進(jìn)行混音和/或重采樣處理。
      根據(jù)本發(fā)明的又一方面,還提供了一種音頻處理方法,包括步驟402,將第一應(yīng)用生成的第一音頻數(shù)據(jù)流發(fā)送至硬件抽象層;步驟404,將第二應(yīng)用生成的第二音頻數(shù)據(jù)流發(fā)送至音頻服務(wù);步驟406,通過所述音頻服務(wù)對所述第二音頻數(shù)據(jù)流進(jìn)行處理后,再發(fā)送至所述硬件抽象層;步驟408,在所述硬件抽象層同時接收所述第一音頻數(shù)據(jù)流和處理后的所述第二音頻數(shù)據(jù)流,并發(fā)送至聲卡;步驟410,通過所述聲卡對所述第一音頻數(shù)據(jù)流和所述第二音頻數(shù)據(jù)流進(jìn)行混音處理并輸出播放。
      在該技術(shù)方案中,第一數(shù)據(jù)流和第二數(shù)據(jù)流來源于不同的應(yīng)用。比如,第一數(shù)據(jù)流可能來源于VOIP和/或VOLTE應(yīng)用,第二數(shù)據(jù)流可能來源于播放器等應(yīng)用。通過本發(fā)明的技術(shù)方案,可以在HAL層同時接收第一音頻數(shù)據(jù)流和第二音頻數(shù)據(jù)流,一起發(fā)送至聲卡以對第一音頻數(shù)據(jù)流和第二音頻數(shù)據(jù)流進(jìn)行混音處理,并播放出來,并且本方案的混音操作是通過硬件來實現(xiàn)的,從而降低語音延遲。
      在上述技術(shù)方案中,優(yōu)選地,所述步驟408包括將所述第一音頻數(shù)據(jù)流發(fā)送至所述聲卡的第一數(shù)字音頻接口,將所述第二音頻數(shù)據(jù)流發(fā)送至所述聲卡的第二數(shù)字音頻接 □。
      在該技術(shù)方案中,由于大部分聲卡支持多路數(shù)字音頻接口(如I2S、PCM、SLIMBUS) 同時輸出,利用這個特性,硬件抽象層可同時接收第一音頻數(shù)據(jù)流和第二音頻數(shù)據(jù)流并發(fā)5送到兩路不同的數(shù)字音頻接口,而上述聲卡可實現(xiàn)兩路數(shù)字音頻接口同時進(jìn)行播放,從而實現(xiàn)對兩路音頻數(shù)據(jù)流的混音,此為全硬件混音方案,軟件沒有任何混音工作量,延遲最少,適用于支持多路數(shù)字音頻接口的聲卡終端。
      在上述技術(shù)方案中,優(yōu)選地,所述步驟402包括將所述第一音頻數(shù)據(jù)流作為第一聲道的音頻數(shù)據(jù)流發(fā)送至所述硬件抽象層;所述步驟406包括將所述第二音頻數(shù)據(jù)流作為第二聲道的音頻數(shù)據(jù)流發(fā)送到所述硬件抽象層;所述步驟410包括通過所述聲卡對所述第一音頻數(shù)據(jù)流和所述第二音頻數(shù)據(jù)流進(jìn)行混音處理,并通過單聲道輸出播放。
      在該技術(shù)方案中,第一音頻數(shù)據(jù)流和第二音頻數(shù)據(jù)流通過不同的聲道被發(fā)送到硬件抽象層。比如,左聲道發(fā)送第一音頻數(shù)據(jù)流,右聲道發(fā)送第二音頻數(shù)據(jù)流,則硬件抽象層可同時接收兩個數(shù)據(jù)流,聲卡接到硬件抽象層發(fā)來的兩個數(shù)據(jù)流以后,對兩個音頻數(shù)據(jù)流進(jìn)行混音處理,并通過單聲道進(jìn)行播放,這樣也實現(xiàn)了對兩個數(shù)據(jù)流進(jìn)行混音,并可以實現(xiàn)同時播放的效果。此為全硬件混音方案,軟件沒有任何混音工作量,適用于任意聲卡終端。
      在上述技術(shù)方案中,優(yōu)選地,還包括在所述第一應(yīng)用工作時,將所述聲卡由原有播放模式更改為單聲道播放模式,在所述第一應(yīng)用停止工作時,將所述聲卡由所述單聲道播放模式恢復(fù)為所述原有播放模式。
      在該技術(shù)方案中,為了能實現(xiàn)對兩個來自不同應(yīng)用的數(shù)據(jù)流進(jìn)行混音播放,在第一應(yīng)用工作時,采用單聲道模式進(jìn) 行播放。但是由于單聲道音質(zhì)稍差,所以為了提高音質(zhì), 在第一應(yīng)用停止工作時,重新恢復(fù)成原有模式,例如立體聲模式。
      在上述技術(shù)方案中,優(yōu)選地,所述第一應(yīng)用包括VOIP和/或VOLTE應(yīng)用,所述第二應(yīng)用包括播放器,所述音頻服務(wù)用于對音頻數(shù)據(jù)流進(jìn)行混音和/或重采樣處理。
      以android平臺為例,V0IP/V0LTE通過direct output直接發(fā)送至HAL層,普通播放器的音頻數(shù)據(jù)流則經(jīng)audioflinger混音及重采樣后,再發(fā)送至HAL層,最終由聲卡完成混音處理。需要注意的是,本處雖以android平臺為例說明本發(fā)明的技術(shù)方案,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)了解,還存在很多結(jié)構(gòu)類似于android的其他系統(tǒng)平臺(例如很多由android 衍生而來),其功能服務(wù)類似于android,基于這些平臺同樣能夠?qū)崿F(xiàn)本申請的技術(shù)方案,在此不進(jìn)行贅述。
      通過以上技術(shù)方案,可以實現(xiàn)將來自VOIP和/或VOLTE的音頻數(shù)據(jù)流和來自播放器的音頻數(shù)據(jù)流進(jìn)行混音并播放,同時混音采用硬件方式實現(xiàn),降低了語音延遲。


      圖I示出了傳統(tǒng)音頻處理方法的流程示意圖2示出了根據(jù)本發(fā)明的實施例的終端的框圖3示出了根據(jù)本發(fā)明的實施例的音頻處理方法的流程圖4和圖5示出了根據(jù)本發(fā)明的實施例的音頻處理方法的流程示意圖。
      具體實施方式
      為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結(jié)合附圖和具體實施方式
      對本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。
      在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實施例的限制。
      圖2示出了根據(jù)本發(fā)明的實施例的終端的框圖。
      如圖2所示,本發(fā)明的實施例的終端200包括第一應(yīng)用控制模塊202,將第一應(yīng)用生成的第一音頻數(shù)據(jù)流發(fā)送至硬件抽象層;第二應(yīng)用控制模塊204,將第二應(yīng)用生成的第二音頻數(shù)據(jù)流發(fā)送至音頻服務(wù);音頻服務(wù)控制模塊206,通過所述音頻服務(wù)對所述第二音頻數(shù)據(jù)流進(jìn)行處理后,再發(fā)送至所述硬件抽象層;硬件抽象層控制模塊208,在所述硬件抽象層同時接收所述第一音頻數(shù)據(jù)流和處理后的所述第二音頻數(shù)據(jù)流,并發(fā)送至聲卡;聲卡控制模塊210,通過所述聲卡對所述第一音頻數(shù)據(jù)流和所述第二音頻數(shù)據(jù)流進(jìn)行混音處理并輸出播放。
      在該技術(shù)方案中,第一數(shù)據(jù)流和第二數(shù)據(jù)流來源于不同的應(yīng)用。比如,第一數(shù)據(jù)流可能來源于VOIP和/或VOLTE應(yīng)用,第二數(shù)據(jù)流可能來源于播放器等應(yīng)用。通過本發(fā)明的技術(shù)方案,可以在HAL層同時接收第一音頻數(shù)據(jù)流和第二音頻數(shù)據(jù)流,一起發(fā)送至聲卡以對第一音頻數(shù)據(jù)流和第二音頻數(shù)據(jù)流進(jìn)行混音處理,并播放出來,并且本方案的混音操作是通過硬件來實現(xiàn)的,從而降低語音延遲。
      在上述技術(shù)方案中,優(yōu)選地,所述硬件抽象層控制模塊208將所述第一音頻數(shù)據(jù)流發(fā)送至所述聲卡的第一數(shù)字 音頻接口,將所述第二音頻數(shù)據(jù)流發(fā)送至所述聲卡的第二數(shù)字音頻接口。
      在該技術(shù)方案中,由于大部分聲卡支持多路數(shù)字音頻接口(如I2S、PCM、SLIMBUS) 同時輸出,利用這個特性,硬件抽象層可同時接收第一音頻數(shù)據(jù)流和第二音頻數(shù)據(jù)流并發(fā)送到兩路不同的數(shù)字音頻接口,而上述聲卡可實現(xiàn)兩路數(shù)字音頻接口同時進(jìn)行播放,從而實現(xiàn)對兩路音頻數(shù)據(jù)流的混音,此為全硬件混音方案,軟件沒有任何混音工作量,延遲最少,適用于支持多路數(shù)字音頻接口的聲卡終端。
      在上述技術(shù)方案中,優(yōu)選地,所述第一應(yīng)用控制模塊202將所述第一音頻數(shù)據(jù)流作為第一聲道的音頻數(shù)據(jù)流發(fā)送至所述硬件抽象層;所述音頻服務(wù)控制模塊206將所述第二音頻數(shù)據(jù)流作為第二聲道的音頻數(shù)據(jù)流發(fā)送到所述硬件抽象層;所述聲卡控制模塊210 通過所述聲卡對所述第一音頻數(shù)據(jù)流和所述第二音頻數(shù)據(jù)流進(jìn)行混音處理,并通過單聲道輸出播放。
      在該技術(shù)方案中,第一音頻數(shù)據(jù)流和第二音頻數(shù)據(jù)流通過不同的聲道被發(fā)送到硬件抽象層。比如,左聲道發(fā)送第一音頻數(shù)據(jù)流,右聲道發(fā)送第二音頻數(shù)據(jù)流,則硬件抽象層可同時接收兩個數(shù)據(jù)流,聲卡接到硬件抽象層發(fā)來的兩個數(shù)據(jù)流以后,對兩個音頻數(shù)據(jù)流進(jìn)行混音處理,并通過單聲道進(jìn)行播放,這樣也實現(xiàn)了對兩個數(shù)據(jù)流進(jìn)行混音,并可以實現(xiàn)同時播放的效果。此為全硬件混音方案,軟件沒有任何混音工作量,適用于任意聲卡終端。
      在上述技術(shù)方案中,優(yōu)選地,所述聲卡控制模塊210在所述第一應(yīng)用工作時,將所述聲卡由原有播放模式更改為單聲道播放模式,在所述第一應(yīng)用停止工作時,將所述聲卡由所述單聲道播放模式恢復(fù)為所述原有模式。
      在該技術(shù)方案中,為了能實現(xiàn)對兩個來自不同應(yīng)用的數(shù)據(jù)流進(jìn)行混音播放,在第一應(yīng)用工作時,采用單聲道模式進(jìn)行播放。但是由于單聲道音質(zhì)稍差,所以為了提高音質(zhì),在第一應(yīng)用停止工作時,重新恢復(fù)成原有模式,例如立體聲模式。
      在上述技術(shù)方案中,優(yōu)選地,所述第一應(yīng)用包括VOIP和/或VOLTE應(yīng)用,所述第二應(yīng)用包括播放器,所述音頻服務(wù)用于對音頻數(shù)據(jù)流進(jìn)行混音和/或重采樣處理。
      圖3示出了根據(jù)本發(fā)明的實施例的音頻處理方法的流程圖。
      如圖3所示,本發(fā)明的實施例的音頻處理方法,包括步驟302,將第一應(yīng)用生成的第一音頻數(shù)據(jù)流發(fā)送至硬件抽象層;步驟304,將第二應(yīng)用生成的第二音頻數(shù)據(jù)流發(fā)送至音頻服務(wù);步驟306,通過所述音頻服務(wù)對所述第二音頻數(shù)據(jù)流進(jìn)行處理后,再發(fā)送至所述硬件抽象層;步驟308,在所述硬件抽象層同時接收所述第一音頻數(shù)據(jù)流和處理后的所述第二音頻數(shù)據(jù)流,并發(fā)送至聲卡;步驟310,通過所述聲卡對所述第一音頻數(shù)據(jù)流和所述第二音頻數(shù)據(jù)流進(jìn)行混音處理并輸出播放。
      在該技術(shù)方案中,第一數(shù)據(jù)流和第二數(shù)據(jù)流來源于不同的應(yīng)用。比如,第一數(shù)據(jù)流可能來源于VOIP和/或VOLTE應(yīng)用,第二數(shù)據(jù)流可能來源于播放器等應(yīng)用。通過本發(fā)明的技術(shù)方案,可以在HAL層同時接收第一音頻數(shù)據(jù)流和第二音頻數(shù)據(jù)流,一起發(fā)送至聲卡以對第 一音頻數(shù)據(jù)流和第二音頻數(shù)據(jù)流進(jìn)行混音處理,并播放出來,并且本方案的混音操作是通過硬件來實現(xiàn)的,從而降低語音延遲。
      在上述技術(shù)方案中,優(yōu)選地,所述步驟308包括將所述第一音頻數(shù)據(jù)流發(fā)送至所述聲卡的第一數(shù)字音頻接口,將所述第二音頻數(shù)據(jù)流發(fā)送至所述聲卡的第二數(shù)字音頻接 □。
      在該技術(shù)方案中,由于大部分聲卡支持多路數(shù)字音頻接口(如I2S、PCM、SLIMBUS) 同時輸出,利用這個特性,硬件抽象層可同時接收第一音頻數(shù)據(jù)流和第二音頻數(shù)據(jù)流并發(fā)送到兩路不同的數(shù)字音頻接口,而上述聲卡可實現(xiàn)兩路數(shù)字音頻接口同時進(jìn)行播放,從而實現(xiàn)對兩路音頻數(shù)據(jù)流的混音,此為全硬件混音方案,軟件沒有任何混音工作量,延遲最少,適用于支持多路數(shù)字音頻接口的聲卡終端。
      在上述技術(shù)方案中,優(yōu)選地,所述步驟302包括將所述第一音頻數(shù)據(jù)流作為第一聲道的音頻數(shù)據(jù)流發(fā)送至所述硬件抽象層;所述步驟306包括將所述第二音頻數(shù)據(jù)流作為第二聲道的音頻數(shù)據(jù)流發(fā)送到所述硬件抽象層;所述步驟310包括通過所述聲卡對所述第一音頻數(shù)據(jù)流和所述第二音頻數(shù)據(jù)流進(jìn)行混音處理,并通過單聲道輸出播放。
      在該技術(shù)方案中,第一音頻數(shù)據(jù)流和第二音頻數(shù)據(jù)流通過不同的聲道被發(fā)送到硬件抽象層。比如,左聲道發(fā)送第一音頻數(shù)據(jù)流,右聲道發(fā)送第二音頻數(shù)據(jù)流,則硬件抽象層可同時接收兩個數(shù)據(jù)流,聲卡接到硬件抽象層發(fā)來的兩個數(shù)據(jù)流以后,對兩個音頻數(shù)據(jù)流進(jìn)行混音處理,并通過單聲道進(jìn)行播放,這樣也實現(xiàn)了對兩個數(shù)據(jù)流進(jìn)行混音,并可以實現(xiàn)同時播放的效果。此為全硬件混音方案,軟件沒有任何混音工作量,適用于任意聲卡終端。
      在上述技術(shù)方案中,優(yōu)選地,還包括在所述第一應(yīng)用工作時,將所述聲卡由原有播放模式更改為單聲道播放模式,在所述第一應(yīng)用停止工作時,將所述聲卡由所述單聲道播放模式恢復(fù)為所述原有播放模式。
      在該技術(shù)方案中,為了能實現(xiàn)對兩個來自不同應(yīng)用的數(shù)據(jù)流進(jìn)行混音播放,在第一應(yīng)用工作時,采用單聲道模式進(jìn)行播放。但是由于單聲道音質(zhì)稍差,所以為了提高音質(zhì), 在第一應(yīng)用停止工作時,重新恢復(fù)成原有模式,例如立體聲模式。
      在上述技術(shù)方案中,優(yōu)選地,所述第一應(yīng)用包括VOIP和/或VOLTE應(yīng)用,所述第二應(yīng)用包括播放器,所述音頻服務(wù)用于對音頻數(shù)據(jù)流進(jìn)行混音和/或重采樣處理。
      以android平臺為例,V0IP/V0LTE通過direct output直接發(fā)送至HAL層,普通播放器的音頻數(shù)據(jù)流則經(jīng)audioflinger混音及重采樣后,再發(fā)送至HAL層,最終由聲卡完成混音處理。需要注意的是,本處雖以android平臺為例說明本發(fā)明的技術(shù)方案,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)了解,還存在很多結(jié)構(gòu)類似于android的其他系統(tǒng)平臺(例如很多由android 衍生而來),其功能服務(wù)類似于android,基于這些平臺同樣能夠?qū)崿F(xiàn)本申請的技術(shù)方案,在此不進(jìn)行贅述。
      下面結(jié)合圖4和圖5,對基于本發(fā)明的技術(shù)方案的音頻處理的方案流程,進(jìn)行具體說明。
      如圖4所示,是利用聲卡數(shù)字音頻接口進(jìn)行硬件混音,其過程如下V0IP和/或 VOLTE應(yīng)用繞過Audioflinger的重采樣和混音操作,將音頻數(shù)據(jù)流直接發(fā)送至硬件抽象層。同時播放器將音頻數(shù)據(jù)流發(fā)送至音頻服務(wù),通過音頻服務(wù)對音頻數(shù)據(jù)流進(jìn)行混音和/ 或重采樣 處理后,再將其發(fā)送至硬件抽象層。由于大部分聲卡支持多路數(shù)字音頻接口(如 12S,PCM,SLIMBUS)同時輸出,利用這個特性,硬件抽象層將VOIP和/或VOLTE的音頻數(shù)據(jù)流和播放器發(fā)送的音頻數(shù)據(jù)流發(fā)送到兩路不同的數(shù)字音頻接口,而兩路數(shù)字音頻接口可以同時進(jìn)行播放,音頻數(shù)據(jù)流在聲卡內(nèi)數(shù)模轉(zhuǎn)換后,直接進(jìn)行模擬信號混音處理,然后輸出到發(fā)聲設(shè)備如喇叭。此為全硬件混音方案,軟件沒有任何混音工作量,語音通話延遲最少。
      如圖5所示,是利用左右聲道單聲道模式進(jìn)行混音,其過程如下V0IP和/或 VOLTE繞過Audioflinger的重采樣和混音操作,將音頻數(shù)據(jù)流直接通過右聲道發(fā)送至硬件抽象層,同時播放器將音頻數(shù)據(jù)流發(fā)送至音頻服務(wù),通過音頻服務(wù)對音頻數(shù)據(jù)流進(jìn)行混音和/或重采樣處理后,再將其通過左聲道發(fā)送至硬件抽象層,然后把聲卡設(shè)置成單聲道模式,數(shù)據(jù)寫到聲卡后,由聲卡硬件完成混音,得到單聲道數(shù)據(jù)進(jìn)行播出。此時因為是單聲道播放,音質(zhì)稍差,為了提高音質(zhì),僅在V0IP/V0LTE通話開始時啟用單聲道播放,V0IP/V0LTE 通話結(jié)束后恢復(fù)立體聲。
      以上結(jié)合附圖,詳細(xì)說明了本發(fā)明的技術(shù)方案。通過本發(fā)明的技術(shù)方案,可以實現(xiàn)將來自VOIP和/或VOLTE的音頻數(shù)據(jù)流和來自播放器的音頻數(shù)據(jù)流進(jìn)行混音并播放,同時混音采用硬件方式實現(xiàn),降低語音延遲。
      以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      權(quán)利要求
      1.一種終端,其特征在于,包括第一應(yīng)用控制模塊,將第一應(yīng)用生成的第一音頻數(shù)據(jù)流發(fā)送至硬件抽象層;第二應(yīng)用控制模塊,將第二應(yīng)用生成的第二音頻數(shù)據(jù)流發(fā)送至音頻服務(wù);音頻服務(wù)控制模塊,通過所述音頻服務(wù)對所述第二音頻數(shù)據(jù)流進(jìn)行處理后,再發(fā)送至所述硬件抽象層;硬件抽象層控制模塊,在所述硬件抽象層同時接收所述第一音頻數(shù)據(jù)流和處理后的所述第二音頻數(shù)據(jù)流,并發(fā)送至聲卡;聲卡控制模塊,通過所述聲卡對所述第一音頻數(shù)據(jù)流和所述第二音頻數(shù)據(jù)流進(jìn)行混音處理并輸出播放。
      2.根據(jù)權(quán)利要求I所述的終端,其特征在于,所述硬件抽象層控制模塊將所述第一音頻數(shù)據(jù)流發(fā)送至所述聲卡的第一數(shù)字音頻接口,將所述第二音頻數(shù)據(jù)流發(fā)送至所述聲卡的第二數(shù)字音頻接口。
      3.根據(jù)權(quán)利要求I所述的終端,其特征在于,所述第一應(yīng)用控制模塊將所述第一音頻數(shù)據(jù)流作為第一聲道的音頻數(shù)據(jù)流發(fā)送至所述硬件抽象層;所述音頻服務(wù)控制模塊將所述第二音頻數(shù)據(jù)流作為第二聲道的音頻數(shù)據(jù)流發(fā)送到所述硬件抽象層;所述聲卡控制模塊通過所述聲卡對所述第一音頻數(shù)據(jù)流和所述第二音頻數(shù)據(jù)流進(jìn)行混音處理,并通過單聲道輸出播放。
      4.根據(jù)權(quán)利要求3所述的終端,其特征在于,所述聲卡控制模塊在所述第一應(yīng)用工作時,將所述聲卡由原有播放模式更改為單聲道播放模式,在所述第一應(yīng)用停止工作時,將所述聲卡由所述單聲道播放模式恢復(fù)為所述原有模式。
      5.根據(jù)權(quán)利要求I至4中任一項所述的終端,其特征在于,所述第一應(yīng)用包括VOIP和 /或VOLTE應(yīng)用,所述第二應(yīng)用包括播放器,所述音頻服務(wù)用于對音頻數(shù)據(jù)流進(jìn)行混音和/ 或重采樣處理。
      6.一種音頻處理方法,其特征在于,包括步驟402,將第一應(yīng)用生成的第一音頻數(shù)據(jù)流發(fā)送至硬件抽象層;步驟404,將第二應(yīng)用生成的第二音頻數(shù)據(jù)流發(fā)送至音頻服務(wù);步驟406,通過所述音頻服務(wù)對所述第二音頻數(shù)據(jù)流進(jìn)行處理后,再發(fā)送至所述硬件抽象層;步驟408,在所述硬件抽象層同時接收所述第一音頻數(shù)據(jù)流和處理后的所述第二音頻數(shù)據(jù)流,并發(fā)送至聲卡;步驟410,通過所述聲卡對所述第一音頻數(shù)據(jù)流和所述第二音頻數(shù)據(jù)流進(jìn)行混音處理并輸出播放。
      7.根據(jù)權(quán)利要求6所述的音頻處理方法,其特征在于,所述步驟408包括將所述第一音頻數(shù)據(jù)流發(fā)送至所述聲卡的第一數(shù)字音頻接口,將所述第二音頻數(shù)據(jù)流發(fā)送至所述聲卡的第二數(shù)字音頻接口。
      8.根據(jù)權(quán)利要求6所述的音頻處理方法,其特征在于,所述步驟402包括將所述第一音頻數(shù)據(jù)流作為第一聲道的音頻數(shù)據(jù)流發(fā)送至所述硬件抽象層;所述步驟406包括將所述第二音頻數(shù)據(jù)流作為第二聲道的音頻數(shù)據(jù)流發(fā)送到所述硬件抽象層;所述步驟410包括通過所述聲卡對所述第一音頻數(shù)據(jù)流和所述第二音頻數(shù)據(jù)流進(jìn)行混音處理,并通過單聲道輸出播放。
      9.根據(jù)權(quán)利要求8所述的音頻處理方法,其特征在于,還包括在所述第一應(yīng)用工作時,將所述聲卡由原有播放模式更改為單聲道播放模式,在所述第一應(yīng)用停止工作時,將所述聲卡由所述單聲道播放模式恢復(fù)為所述原有播放模式。
      10.根據(jù)權(quán)利要求6至9中任一項所述的音頻處理方法,其特征在于,所述第一應(yīng)用包括VOIP和/或VOLTE應(yīng)用,所述第二應(yīng)用包括播放器,所述音頻服務(wù)用于對音頻數(shù)據(jù)流進(jìn)行混音和/或重采樣處理。
      全文摘要
      本發(fā)明提出了一種終端,包括第一應(yīng)用控制模塊,將第一應(yīng)用生成的第一音頻數(shù)據(jù)流發(fā)送至硬件抽象層;第二應(yīng)用控制模塊,將第二應(yīng)用生成的第二音頻數(shù)據(jù)流發(fā)送至音頻服務(wù);音頻服務(wù)控制模塊,通過音頻服務(wù)對第二音頻數(shù)據(jù)流進(jìn)行處理后,再發(fā)送至硬件抽象層;硬件抽象層控制模塊,在所述硬件抽象層同時接收所述第一音頻數(shù)據(jù)流和處理后的所述第二音頻數(shù)據(jù)流,并發(fā)送至聲卡;聲卡控制模塊,通過聲卡對第一音頻數(shù)據(jù)流和第二音頻數(shù)據(jù)流進(jìn)行混音處理并輸出播放。相應(yīng)地,本發(fā)明還提供了一種音頻處理方法。通過本發(fā)明的技術(shù)方案,可以實現(xiàn)將來自VOIP和/或VOLTE的音頻數(shù)據(jù)流和來自播放器的音頻數(shù)據(jù)流進(jìn)行混音并播放,并且能夠滿足傳統(tǒng)語音通話的低延遲要求。
      文檔編號H04M7/00GK102932567SQ20121046694
      公開日2013年2月13日 申請日期2012年11月19日 優(yōu)先權(quán)日2012年11月19日
      發(fā)明者馮春松 申請人:東莞宇龍通信科技有限公司, 宇龍計算機(jī)通信科技(深圳)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1