女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

定義安卓音頻架構(gòu)

星星科技指導(dǎo)員 ? 來源:embedded ? 作者:Rohan Nathi ? 2023-05-04 10:23 ? 次閱讀

Android操作系統(tǒng)已經(jīng)占領(lǐng)了當(dāng)今設(shè)備的很大一部分,包括智能手機(jī),電視和Tab。根據(jù)Statista的數(shù)據(jù),谷歌創(chuàng)建的Android移動(dòng)操作系統(tǒng)(OS)是目前使用最廣泛的智能手機(jī)操作系統(tǒng),以接近71.8%的市場(chǎng)份額主導(dǎo)移動(dòng)操作系統(tǒng)市場(chǎng)。

Android 在所有硬件平臺(tái)上被廣泛采用,因?yàn)樗且粋€(gè)開源軟件代碼和一個(gè)定義明確的框架結(jié)構(gòu)。Linux內(nèi)核是Android操作系統(tǒng)的核心,因?yàn)樗峁┝擞布透鞣NAndroid組件之間的抽象。音頻處理需要大量復(fù)雜的操作和密集的算法來產(chǎn)生高保真音頻輸出。Android 音頻架構(gòu)涉及許多復(fù)雜的軟件,必須處理許多方面,例如支持揚(yáng)聲器、聽筒、耳機(jī)、HDMI、麥克風(fēng)、藍(lán)牙 SCO、A2DP 等音頻硬件,以及不同的軟件應(yīng)用程序,如電話、媒體播放器錄音機(jī)、VIOP 應(yīng)用程序和 SIP 應(yīng)用程序。本文重點(diǎn)介紹 Android 音頻架構(gòu)中不同組件的高級(jí)功能。

安卓音頻架構(gòu)概述

Android 音頻架構(gòu)概述了音頻功能的實(shí)現(xiàn)方式,并提供了指向相關(guān)源代碼的鏈接。

poYBAGRTFwuAZm7QAAI0YWClXlc315.png

安卓音頻架構(gòu)

安卓音頻APP和JAVA框架

Android 框架由一組定義明確的 Java API 組成,使開發(fā)人員能夠輕松編寫 Android 應(yīng)用程序。Android 音頻應(yīng)用代碼使用這組不同的多媒體 (android.media) 框架 API。在內(nèi)部,這些 API 調(diào)用相應(yīng)的 Java 本機(jī)接口 (JNI) 粘附軟件代碼來訪問本機(jī)組件,這些組件進(jìn)一步與較低層交互以在硬件上播放音頻。

粘結(jié) 劑

進(jìn)程間通信 (IPC) 是所有不同 Android 組件交換信息的重要機(jī)制。Android 進(jìn)程使用名為“Binder”的特定于 Android 的 IPC 來調(diào)用另一個(gè) Android 進(jìn)程中的例程,并通過參數(shù)交換數(shù)據(jù)。上層使用 Binder API 與本機(jī)音頻服務(wù)和下層硬件層進(jìn)行通信。

音頻管理器

音頻管理器是原生的Android服務(wù),是整個(gè)音頻子系統(tǒng)的核心組件。從Android 7 Nougat版本開始,它不是原生媒體服務(wù)的一部分,而是在用戶空間中作為單獨(dú)的Android進(jìn)程運(yùn)行。它為不同的服務(wù)運(yùn)行三個(gè)線程,即音頻策略、音頻投點(diǎn)和音頻以執(zhí)行其功能。

音頻策略服務(wù)

策略決策主要包括打開新的輸入/輸出音頻流,并在通過 UI 和流音量管理更改或選擇后將音頻重新路由到不同的音頻設(shè)備。音頻策略服務(wù)處理執(zhí)行這些策略決策所需的所有操作。此服務(wù)還跟蹤用戶事件和當(dāng)前系統(tǒng)狀態(tài),以通知音頻投點(diǎn)服務(wù)。

音頻投擲器服務(wù)

音頻傳票服務(wù)調(diào)用音頻硬件抽象層 (HAL) API 以與音頻硬件交互。它為上層提供了一個(gè)可訪問的界面。音頻策略服務(wù)定義的策略決策和策略由此服務(wù)執(zhí)行。它還負(fù)責(zé)與音頻設(shè)備通信并維護(hù)其狀態(tài)。它處理多個(gè)音頻流(通知和音樂)的混合、音量縮放、音頻流寫入,并為媒體播放器提供寫入音頻幀等信息。

音頻服務(wù)

Audio 是 Android 8 Oreo 版本中引入的新 Android C API。它專為需要低延遲的高性能音頻應(yīng)用而設(shè)計(jì)。Android 音頻應(yīng)用調(diào)用音頻 API 來讀取和寫入音頻流中的數(shù)據(jù)。音頻服務(wù)處理這些低延遲音頻 API。音頻 API 中有兩種模式,即“獨(dú)占模式”,它允許客戶端應(yīng)用程序代碼直接寫入與 ALSA 驅(qū)動(dòng)程序共享的內(nèi)存映射緩沖區(qū),以及“共享模式”,它混合所有共享流并遵循音頻 HAL 路徑。

音頻 HAL

硬件抽象層 (HAL) 是 Android 堆棧中的一個(gè)層,它為上層運(yùn)行的本機(jī)音頻服務(wù)提供標(biāo)準(zhǔn)訪問接口。音頻 HAL 將上層橋接到較低級(jí)別的音頻驅(qū)動(dòng)程序?qū)崿F(xiàn)。供應(yīng)商必須使用特定的音頻驅(qū)動(dòng)程序代碼實(shí)現(xiàn)音頻 HAL 接口。音頻 HAL 作為單獨(dú)的 Android 進(jìn)程在用戶空間中運(yùn)行,以執(zhí)行上層所需的功能。

下面列出了音頻 HAL 提供的主要功能。

管理音頻輸入/輸出流的打開和關(guān)閉,包括設(shè)置音頻通道、采樣率和音頻格式等流參數(shù)。它還必須處理媒體播放器的不同狀態(tài),包括播放、暫停、恢復(fù)和待機(jī),并為硬件上寫入的音頻幀和時(shí)間戳提供反饋路徑數(shù)據(jù)。

加載需要特殊音頻處理和解碼的特定庫(kù)集,從而將原始數(shù)據(jù)發(fā)送到音頻硬件。

音頻設(shè)備接口

Android 音頻架構(gòu)支持不同類型的音頻設(shè)備,包括藍(lán)牙設(shè)備、電視調(diào)諧器系統(tǒng)、HMDI 連接和 I2S 揚(yáng)聲器。音頻 HAL 負(fù)責(zé)將音頻數(shù)據(jù)包從上層發(fā)送到這些設(shè)備。選擇特定音頻設(shè)備或?qū)⑵洳迦?Android 硬件后,音頻策略管理器將執(zhí)行一組定義并與音頻設(shè)備關(guān)聯(lián)的策略,并且所有層都配置為支持音頻數(shù)據(jù)流經(jīng)它。Audio HAL 特別加載與音頻設(shè)備交互的接口代碼并對(duì)其執(zhí)行讀寫操作,此接口代碼還為連接到其他 HAL 的音頻設(shè)備執(zhí)行 HAL 間 IPC,例如,需要藍(lán)牙 HAL 交換數(shù)據(jù)的藍(lán)牙音頻設(shè)備。

內(nèi)核驅(qū)動(dòng)程序

音頻 HAL 實(shí)現(xiàn)具有與音頻驅(qū)動(dòng)程序交互的代碼。Android 內(nèi)核使用高級(jí) Linux Sound Architecture (ALSA) 子系統(tǒng),或者供應(yīng)商可以引入與 HAL 無關(guān)的自定義驅(qū)動(dòng)程序。Tiny ALSA是一個(gè)小型庫(kù),用于與Linux內(nèi)核中的ALSA接口,音頻HAL使用它與不同的聲卡進(jìn)行交互。

Android堆棧是需要為不同的硬件平臺(tái)構(gòu)建的巨大軟件代碼。理解和修改較低的Android層非常困難,因?yàn)樗枰罅康恼{(diào)試技能。硬件級(jí)實(shí)現(xiàn)因每個(gè)供應(yīng)商而異,需要與為上層定義的接口準(zhǔn)確映射。代碼庫(kù)中許多未記錄的部分更加復(fù)雜且特定于供應(yīng)商,并且它使用復(fù)雜的IPC機(jī)制,并在編程語(yǔ)言之間切換。

Softnautics使多媒體公司能夠設(shè)計(jì)和開發(fā)連接的多媒體解決方案。我們幫助客戶進(jìn)行Android底層所需的不同自定義和集成,其中主要包括用戶和內(nèi)核空間中的本機(jī)代碼。我們還協(xié)助客戶添加基于音頻的無線設(shè)備并將其集成到Android音頻子系統(tǒng)中。我們?cè)诹私?Android 架構(gòu)中的不同層以進(jìn)行定制和圍繞它的新設(shè)計(jì)方面擁有專業(yè)知識(shí)。我們?cè)谠O(shè)計(jì)高性能媒體應(yīng)用程序、構(gòu)建完整的視頻管道、音頻/視頻編解碼器開發(fā)、應(yīng)用程序移植等方面擁有實(shí)踐經(jīng)驗(yàn)。

審核編輯?:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 智能手機(jī)
    +關(guān)注

    關(guān)注

    66

    文章

    18609

    瀏覽量

    183010
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3962

    瀏覽量

    129525
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7077

    瀏覽量

    124934
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于Freescale MCU與Audio Codec的音頻附件設(shè)計(jì)

    音頻附件是Android Open Accessory (AOA) protocol 2.0中新增的功能,它通過標(biāo)準(zhǔn)USB Audio Class Interface將來自
    發(fā)表于 11-19 11:51 ?6439次閱讀
    基于Freescale MCU與Audio Codec的<b class='flag-5'>安</b><b class='flag-5'>卓</b><b class='flag-5'>音頻</b>附件設(shè)計(jì)

    車載系統(tǒng)的設(shè)計(jì)方案和注意事項(xiàng)

    基于系統(tǒng)的消費(fèi)電子設(shè)備用戶希望可以在開車或乘車時(shí)使用他們的應(yīng)用程序和設(shè)備功能。##整合智能設(shè)備##與
    發(fā)表于 05-19 09:59 ?5099次閱讀

    Android端自定義鈴聲 MobPush對(duì)端自定義鈴聲的教程

    如何為APP推送設(shè)置獨(dú)特的通知鈴聲呢?本次帶來的是MobPush對(duì)端自定義鈴聲的教程,快來看看吧~
    的頭像 發(fā)表于 10-21 15:34 ?1448次閱讀
    Android端自<b class='flag-5'>定義</b>鈴聲 MobPush對(duì)<b class='flag-5'>安</b><b class='flag-5'>卓</b>端自<b class='flag-5'>定義</b>鈴聲的教程

    【原創(chuàng)】Dex分包架構(gòu)設(shè)計(jì)—實(shí)現(xiàn)熱修復(fù)

    【原創(chuàng)】Dex分包架構(gòu)設(shè)計(jì)—實(shí)現(xiàn)熱修復(fù)回復(fù)即可獲取下載鏈接[hide=d15]鏈接:http://pan.baidu.com/s/1c2fYJZy 密碼:iw16 學(xué)習(xí)群:150923287 [/hide]
    發(fā)表于 07-26 17:50

    基于的視頻遙控小車——紅外詳解

    ,感覺這東西涉及到傅里葉變換,音頻是正弦波,紅外信號(hào)是方波,直接用音頻驅(qū)動(dòng)是有誤差的吧,我也不是很懂,數(shù)學(xué)不好。網(wǎng)上我搜到這篇是【用實(shí)現(xiàn)的
    發(fā)表于 06-29 00:22

    如何看待鴻蒙系統(tǒng)兼容系統(tǒng)?

    網(wǎng)絡(luò)看到很多人討論鴻蒙和,有人說鴻蒙就是換皮版的,有人說鴻蒙兼容,有
    發(fā)表于 10-10 11:06

    鴻蒙 vs 六大維度對(duì)比

    以是其他(PPT里這么寫的)。微內(nèi)核顯然在架構(gòu)上會(huì)更有優(yōu)勢(shì),可以在速度、續(xù)航上領(lǐng)先。性能系統(tǒng)也有很多的弊端,基于開源代碼的設(shè)計(jì),系統(tǒng)運(yùn)行產(chǎn)生的垃圾文件會(huì)越來越多,時(shí)間一長(zhǎng),手機(jī)的性能就會(huì)明顯下降
    發(fā)表于 12-07 14:13

    支持RISC-V架構(gòu)的技術(shù)剖析

    本帖最后由 jf_11671167 于 2021-10-9 10:29 編輯 關(guān)鍵詞:、玄鐵C910、虛擬機(jī)、RISC-V架構(gòu),RISC-V操作系統(tǒng),IoT芯片,嵌入式操作系統(tǒng),AOSP
    發(fā)表于 09-01 15:45

    系統(tǒng)DIY教程

    系統(tǒng)DIY教程,私人訂制系統(tǒng)功能,介紹如何增加,刪除系統(tǒng)功能。
    發(fā)表于 05-06 16:54 ?18次下載

    系統(tǒng)存在漏洞,可無需獲得用戶許可就能捕獲視頻和音頻

    手機(jī)有遭殃了,安全公司Checkmarx發(fā)現(xiàn),系統(tǒng)存在一個(gè)漏洞,讓惡意應(yīng)用無需用戶許可就能錄制視頻、拍攝照片和捕獲音頻,并將內(nèi)容上傳
    的頭像 發(fā)表于 11-20 16:09 ?2848次閱讀

    鴻蒙系統(tǒng)是基于

    有網(wǎng)友詢問鴻蒙系統(tǒng)是基于嗎?答案:鴻蒙系統(tǒng)并不是基于! 與鴻蒙手機(jī)操作系統(tǒng)都是基于L
    的頭像 發(fā)表于 06-18 16:17 ?3.2w次閱讀

    鴻蒙是基于嗎 鴻蒙與區(qū)別

    很多人很好奇鴻蒙系統(tǒng)和卓有什么關(guān)系?鴻蒙系統(tǒng)是基于系統(tǒng)研發(fā)而成的?鴻蒙系統(tǒng)與系統(tǒng)有什么區(qū)別?下面將為大家詳細(xì)介紹鴻蒙系統(tǒng)與
    的頭像 發(fā)表于 07-10 09:36 ?4.6w次閱讀

    I BUS適配器BMW音頻

    電子發(fā)燒友網(wǎng)站提供《I BUS適配器BMW音頻.zip》資料免費(fèi)下載
    發(fā)表于 08-05 10:01 ?0次下載
    I BUS適配器BMW<b class='flag-5'>安</b><b class='flag-5'>卓</b><b class='flag-5'>音頻</b>

    主板_MTK6765開發(fā)板-聯(lián)發(fā)科主板方案介紹

    主板_MTK6765開發(fā)板-搭載聯(lián)發(fā)科(MediaTek)MTK6765處理器,這款高性能ARM處理器被廣泛應(yīng)用于個(gè)人移動(dòng)互聯(lián)網(wǎng)設(shè)備和其他應(yīng)用程序。MT6765采用了八核Cor
    的頭像 發(fā)表于 10-11 19:27 ?1825次閱讀
    <b class='flag-5'>安</b><b class='flag-5'>卓</b>主板_MTK6765<b class='flag-5'>安</b><b class='flag-5'>卓</b>開發(fā)板-聯(lián)發(fā)科<b class='flag-5'>安</b><b class='flag-5'>卓</b>主板方案介紹

    谷歌15將提升對(duì)助聽器支持,改善音頻體驗(yàn)

    5 月 30 日,谷歌正式公布了 15 更新計(jì)劃,將大幅度提升系統(tǒng)對(duì)助聽器的支持程度,使其可與具備藍(lán)牙 LE 音頻技術(shù)的助聽器無縫對(duì)
    的頭像 發(fā)表于 05-30 15:11 ?1512次閱讀