欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

提供音頻服務(wù)的方法及系統(tǒng)與流程

文檔序號(hào):12824333閱讀:517來源:國(guó)知局
提供音頻服務(wù)的方法及系統(tǒng)與流程

本申請(qǐng)涉及電數(shù)字?jǐn)?shù)據(jù)的處理領(lǐng)域,尤其涉及提供音頻服務(wù)的方法及系統(tǒng)。



背景技術(shù):

隨著智能手機(jī)的興起,手機(jī)已經(jīng)成為人們?nèi)粘I钪斜夭豢缮僦?。?dāng)前的眾多手機(jī)廠商大多采用基于arm架構(gòu)的硬件平臺(tái)及android手機(jī)操作系統(tǒng)。android手機(jī)系統(tǒng)采用的音頻服務(wù)是其自己實(shí)現(xiàn)的audioflinger(android音頻服務(wù)的名稱)。但是,基于現(xiàn)有的技術(shù),audioflinger只能運(yùn)行在基于bionic(函數(shù)庫的名稱)函數(shù)庫的android系統(tǒng)中。相對(duì)于其他主流的音頻服務(wù),其具有強(qiáng)制重采樣、系統(tǒng)資源占用率高、延遲較高等明顯缺陷。

pulseaudio是一個(gè)跨平臺(tái)的、具有網(wǎng)絡(luò)工作功能的音頻服務(wù),它由freedesktop.org項(xiàng)目組開發(fā)(freedesktop.org是一個(gè)致力于linux和其他類unix上的x窗口系統(tǒng)的桌面環(huán)境之間的互操作性和基礎(chǔ)技術(shù)共享的項(xiàng)目),它能夠運(yùn)行在linux、bsd、macosx和windows等操作系統(tǒng)上。然而,pulseaudio無法直接替代android的audioflinger,因?yàn)槭謾C(jī)廠商都會(huì)提供自己的audiohal層,audiohal層中有與電話相關(guān)的音頻通路邏輯操作部分,pulseaudio無法跨過audiohal層去控制調(diào)制解調(diào)器modem,導(dǎo)致pulseaudio無法處理電話等操作。

因此,在手機(jī)設(shè)備上實(shí)現(xiàn)一種更為高效、功能更多的音頻服務(wù),將可以很大地提高用戶的使用體驗(yàn)。



技術(shù)實(shí)現(xiàn)要素:

為了克服現(xiàn)有技術(shù)中存在的不足,本發(fā)明要解決的技術(shù)問題是提供一種提供音頻服務(wù)的方法及系統(tǒng),其使pulseaudio能用在手機(jī)設(shè)備上,在進(jìn)行正常的播放錄音操作的同時(shí)能夠控制手機(jī)電話的邏輯處理。

為解決上述技術(shù)問題,本發(fā)明的提供音頻服務(wù)的方法,包括:

將移動(dòng)終端的音頻硬件抽象層audiohal中與調(diào)制解調(diào)器交互的邏輯部分分離出來得到移植audiohal;

將所述移植audiohal打包成一個(gè)audiohal插件;

將所述audiohal插件整合進(jìn)pulseaudio音頻服務(wù)得到新的pulseaudio音頻服務(wù),使得所述新的pulseaudio音頻服務(wù)在啟動(dòng)后會(huì)自動(dòng)調(diào)用所述audiohal插件;

將所述新的pulseaudio音頻服務(wù)用作所述移動(dòng)終端的音頻服務(wù)。

作為本發(fā)明所述方法的改進(jìn),所述將移動(dòng)終端的音頻硬件抽象層audiohal中與調(diào)制解調(diào)器交互的邏輯部分分離出來得到移植audiohal包括:裁掉移動(dòng)終端audiohal中的音頻數(shù)據(jù)傳輸部分和音頻通路控制部分,保留voice語音通話部分;將保留的voice語音通話部分中調(diào)用tinyalsa庫的接口函數(shù)全部替換成調(diào)用alsalib庫的接口函數(shù);用glibc函數(shù)庫重新編譯經(jīng)過前一步處理過的voice語音通話部分,得到移植audiohal。

作為本發(fā)明所述方法的另一種改進(jìn),所述方法還包括:所述新的pulseaudio音頻服務(wù)向下調(diào)用標(biāo)準(zhǔn)的alsa庫。

作為本發(fā)明所述方法的進(jìn)一步改進(jìn),所述方法還包括:所述新的pulseaudio音頻服務(wù)進(jìn)一步向下調(diào)用asoc層。

作為本發(fā)明所述方法的再進(jìn)一步的改進(jìn),所述方法還包括:所述新的pulseaudio音頻服務(wù)進(jìn)一步向下調(diào)用音頻驅(qū)動(dòng)器audiodriver。

為解決上述技術(shù)問題,本發(fā)明的提供音頻服務(wù)的系統(tǒng),包括:

分離模塊,用于將移動(dòng)終端的音頻硬件抽象層audiohal中與調(diào)制解調(diào)器交互的邏輯部分分離出來得到移植audiohal;

打包模塊,用于將所述移植audiohal打包成一個(gè)audiohal插件;

整合模塊,用于將所述audiohal插件整合進(jìn)pulseaudio音頻服務(wù)得到新的pulseaudio音頻服務(wù),使得所述新的pulseaudio音頻服務(wù)在啟動(dòng)后會(huì)自動(dòng)調(diào)用所述audiohal插件;

使用模塊,用于將所述新的pulseaudio音頻服務(wù)用作所述移動(dòng)終端的音頻服務(wù)。

作為本發(fā)明所述系統(tǒng)的改進(jìn),所述分離模塊包括:剪裁子模塊,用于裁掉移動(dòng)終端audiohal中的音頻數(shù)據(jù)傳輸部分和音頻通路控制部分,保留voice語音通話部分;替換子模塊,用于將保留的voice語音通話部分中調(diào)用tinyalsa庫的接口函數(shù)全部替換成調(diào)用alsalib庫的接口函數(shù);編譯子模塊,用于用glibc函數(shù)庫重新編譯經(jīng)過前一步處理過的voice語音通話部分,得到移植audiohal。

作為本發(fā)明所述系統(tǒng)的另一種改進(jìn),所述系統(tǒng)還包括:第一調(diào)用模塊,用于使得所述新的pulseaudio音頻服務(wù)向下調(diào)用標(biāo)準(zhǔn)的alsa庫。

作為本發(fā)明所述系統(tǒng)的進(jìn)一步改進(jìn),所述系統(tǒng)還包括:第二調(diào)用模塊,用于使得所述新的pulseaudio音頻服務(wù)進(jìn)一步向下調(diào)用asoc層。

作為本發(fā)明所述系統(tǒng)的再進(jìn)一步改進(jìn),所述系統(tǒng)還包括:第三調(diào)用模塊,用于使得所述新的pulseaudio音頻服務(wù)進(jìn)一步向下調(diào)用音頻驅(qū)動(dòng)器audiodriver。

為解決上述技術(shù)問題,本發(fā)明的有形計(jì)算機(jī)可讀介質(zhì),包括用于執(zhí)行上述提供音頻服務(wù)的方法的計(jì)算機(jī)程序代碼。

為解決上述技術(shù)問題,本發(fā)明提供一種裝置,包括至少一個(gè)處理器;及至少一個(gè)存儲(chǔ)器,含有計(jì)算機(jī)程序代碼,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被配置為利用所述至少一個(gè)處理器使得所述裝置執(zhí)行本發(fā)明的提供音頻服務(wù)的方法的至少部分步驟。

按照本發(fā)明,通過將audiohal整合進(jìn)pulseaudio,使pulseaudio可以間接操作modem,從而使pulseaudio能夠控制手機(jī)電話的邏輯處理。同時(shí),pluseaudio仍然通過alsa去向下操作硬件進(jìn)行正常的播放錄音操作。從而使pulseaudio能運(yùn)行于手機(jī)設(shè)備上,實(shí)現(xiàn)一種更為高效、功能更多的音頻服務(wù),更好地提高用戶的使用體驗(yàn)。

結(jié)合附圖閱讀本發(fā)明實(shí)施方式的詳細(xì)描述后,本發(fā)明的其它特點(diǎn)和優(yōu)點(diǎn)將變得更加清楚。

附圖說明

圖1為根據(jù)本發(fā)明方法的一實(shí)施例的流程圖。

圖2為根據(jù)本發(fā)明系統(tǒng)的一實(shí)施例的結(jié)構(gòu)示意圖。

為清晰起見,這些附圖均為示意性及簡(jiǎn)化的圖,它們只給出了對(duì)于理解本發(fā)明所必要的細(xì)節(jié),而省略其他細(xì)節(jié)。

具體實(shí)施方式

下面參照附圖對(duì)本發(fā)明的實(shí)施方式和實(shí)施例進(jìn)行詳細(xì)說明。

通過下面給出的詳細(xì)描述,本發(fā)明的適用范圍將顯而易見。然而,應(yīng)當(dāng)理解,在詳細(xì)描述和具體例子表明本發(fā)明優(yōu)選實(shí)施例的同時(shí),它們僅為說明目的給出。

目前,android手機(jī)的音頻架構(gòu)為:audioflinger音頻服務(wù)向下調(diào)用audiohal層(hal的全稱是hardwareabstractionlayer,即硬件抽象層),audiohal會(huì)用發(fā)送at指令(at為調(diào)制解調(diào)器命令語言)的方式和調(diào)制解調(diào)器modem進(jìn)行通信,同時(shí)audiohal層會(huì)向下調(diào)用tinyalsa(googleaudio的函數(shù)庫),之后向下調(diào)用asoc框架(alsasystemonchip(alsa(advancedlinuxsoundarchitecture)指高級(jí)linux聲音架構(gòu))),最后調(diào)到audiodriver層(音頻驅(qū)動(dòng))。

個(gè)人計(jì)算機(jī)上的音頻架構(gòu)為:pulseaudio音頻服務(wù)向下調(diào)用alsa庫,之后向下調(diào)用asoc框架,最后調(diào)到audiodriver。

本發(fā)明提出采用一種基于alsa框架的audio硬件平臺(tái)支持,使用pulseaudio作為音頻服務(wù)的解決方法。

下面結(jié)合圖1所示流程圖對(duì)根據(jù)本發(fā)明的提供音頻服務(wù)的方法的一實(shí)施例的各步驟進(jìn)行具體說明。

在步驟s102,將移動(dòng)終端如手機(jī)的音頻硬件抽象層audiohal中與調(diào)制解調(diào)器交互的邏輯部分分離出來得到移植audiohal。android的audiohal層中主要包含三大部分:音頻數(shù)據(jù)傳輸部分、音頻通路控制部分、voice語音通話部分,其中voice語音通話部分即為與調(diào)制解調(diào)器交互的邏輯部分。根據(jù)一種實(shí)施方式,通過下述處理得到移植audiohal:裁掉移動(dòng)終端audiohal中的音頻數(shù)據(jù)傳輸部分和音頻通路控制部分,保留voice語音通話部分;將保留的voice語音通話部分中調(diào)用tinyalsa庫的接口函數(shù)全部替換成調(diào)用alsalib庫的接口函數(shù);用glibc函數(shù)庫重新編譯經(jīng)過前一步處理過的voice語音通話部分,得到移植audiohal。

在步驟s104,將所述移植audiohal打包成一個(gè)audiohal插件。

在步驟s106,將所述audiohal插件整合進(jìn)pulseaudio音頻服務(wù)得到新的pulseaudio音頻服務(wù),使得所述新的pulseaudio音頻服務(wù)在啟動(dòng)后會(huì)自動(dòng)調(diào)用所述audiohal插件。

在步驟s108,將所述新的pulseaudio音頻服務(wù)用作所述移動(dòng)終端的音頻服務(wù),替代先前的audioflinger音頻服務(wù)。

根據(jù)本發(fā)明方法的一種實(shí)施方式,所述方法還包括:所述新的pulseaudio音頻服務(wù)向下調(diào)用標(biāo)準(zhǔn)的alsa庫,之后,進(jìn)一步向下調(diào)用asoc層,及之后進(jìn)一步向下調(diào)用音頻驅(qū)動(dòng)器audiodriver。

本發(fā)明通過把手機(jī)設(shè)備廠商提供的audiohal層中和modem交互的邏輯部分移植出來作為pulseaudio的一個(gè)插件去運(yùn)行,之后audiohal會(huì)向下調(diào)用標(biāo)準(zhǔn)的alsa庫,而不再調(diào)用tinyalsa庫。同時(shí),audiohal層仍然會(huì)使用at指令和modem進(jìn)行交互通信,完成電話相關(guān)的邏輯上的處理。之后向下通過調(diào)用asoc層,再向下調(diào)用audiodriver。從而使pulseaudio能用在手機(jī)設(shè)備中,使得手機(jī)設(shè)備的音頻服務(wù)具有pulseaudio的優(yōu)點(diǎn)。

圖2示出了根據(jù)本發(fā)明的提供音頻服務(wù)的系統(tǒng)的一實(shí)施例的結(jié)構(gòu)示意圖,該系統(tǒng)包括:分離模塊202,用于將移動(dòng)終端的音頻硬件抽象層audiohal中與調(diào)制解調(diào)器交互的邏輯部分分離出來得到移植audiohal;打包模塊204,用于將所述移植audiohal打包成一個(gè)audiohal插件;整合模塊206,用于將所述audiohal插件整合進(jìn)pulseaudio音頻服務(wù)得到新的pulseaudio音頻服務(wù),使得所述新的pulseaudio音頻服務(wù)在啟動(dòng)后會(huì)自動(dòng)調(diào)用所述audiohal插件;使用模塊208,用于將所述新的pulseaudio音頻服務(wù)用作所述移動(dòng)終端的音頻服務(wù);第一調(diào)用模塊210,用于使得所述新的pulseaudio音頻服務(wù)向下調(diào)用標(biāo)準(zhǔn)的alsa庫;第二調(diào)用模塊212,用于使得所述新的pulseaudio音頻服務(wù)進(jìn)一步向下調(diào)用asoc層;第三調(diào)用模塊214,用于使得所述新的pulseaudio音頻服務(wù)進(jìn)一步向下調(diào)用音頻驅(qū)動(dòng)器audiodriver。其中,所述分離模塊202包括:剪裁子模塊,用于裁掉移動(dòng)終端audiohal中的音頻數(shù)據(jù)傳輸部分和音頻通路控制部分,保留voice語音通話部分;替換子模塊,用于將保留的voice語音通話部分中調(diào)用tinyalsa庫的接口函數(shù)全部替換成調(diào)用alsalib庫的接口函數(shù);編譯子模塊,用于用glibc函數(shù)庫重新編譯經(jīng)過前一步處理過的voice語音通話部分,得到移植audiohal。

在此所述的多個(gè)不同實(shí)施例或者其特定特征、結(jié)構(gòu)或特性可在本發(fā)明的一個(gè)或多個(gè)實(shí)施方式中適當(dāng)組合。另外,在某些情形下,只要適當(dāng),流程圖中和/或流水處理描述的步驟順序可修改,并不必須精確按照所描述的順序執(zhí)行。另外,本發(fā)明的多個(gè)不同方面可使用軟件、硬件、固件或者其組合和/或執(zhí)行所述功能的其它計(jì)算機(jī)實(shí)施的模塊或裝置進(jìn)行實(shí)施。本發(fā)明的軟件實(shí)施可包括保存在計(jì)算機(jī)可讀介質(zhì)中并由一個(gè)或多個(gè)處理器執(zhí)行的可執(zhí)行代碼。計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)硬盤驅(qū)動(dòng)器、rom、ram、閃存、便攜計(jì)算機(jī)存儲(chǔ)介質(zhì)如cd-rom、dvd-rom、閃盤驅(qū)動(dòng)器和/或例如具有通用串行總線(usb)接口的其它裝置,和/或任何其它適當(dāng)?shù)挠行位蚍嵌虝河?jì)算機(jī)可讀介質(zhì)或可執(zhí)行代碼可保存于其上并由處理器執(zhí)行的計(jì)算機(jī)存儲(chǔ)器。本發(fā)明可結(jié)合任何適當(dāng)?shù)牟僮飨到y(tǒng)使用。

除非明確指出,在此所用的單數(shù)形式“一”、“該”均包括復(fù)數(shù)含義(即具有“至少一”的意思)。應(yīng)當(dāng)進(jìn)一步理解,說明書中使用的術(shù)語“具有”、“包括”和/或“包含”表明存在所述的特征、步驟、操作、元件和/或部件,但不排除存在或增加一個(gè)或多個(gè)其他特征、步驟、操作、元件、部件和/或其組合。如在此所用的術(shù)語“和/或”包括一個(gè)或多個(gè)列舉的相關(guān)項(xiàng)目的任何及所有組合。

前面說明了本發(fā)明的一些優(yōu)選實(shí)施例,但是應(yīng)當(dāng)強(qiáng)調(diào)的是,本發(fā)明不局限于這些實(shí)施例,而是可以本發(fā)明主題范圍內(nèi)的其它方式實(shí)現(xiàn)。本領(lǐng)域技術(shù)人員可以在本發(fā)明技術(shù)構(gòu)思的啟發(fā)和不脫離本發(fā)明內(nèi)容的基礎(chǔ)上對(duì)本發(fā)明作出各種變形和修改,這些變形或修改仍落入本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
安国市| 惠州市| 江川县| 定西市| 天气| 呼和浩特市| 丹凤县| 临沂市| 南投县| 楚雄市| 张家口市| 年辖:市辖区| 神池县| 廉江市| 仲巴县| 湾仔区| 涿鹿县| 罗山县| 保山市| 全椒县| 车致| 夹江县| 巴中市| 沈阳市| 郁南县| 宾川县| 海林市| 南雄市| 乡城县| 六盘水市| 双城市| 三明市| 拜泉县| 灵璧县| 遵化市| 拉萨市| 中卫市| 城口县| 若羌县| 扶风县| 玛沁县|