chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

定義安卓音頻架構

星星科技指導員 ? 來源:embedded ? 作者:Rohan Nathi ? 2023-05-04 10:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

Android 在所有硬件平臺上被廣泛采用,因為它是一個開源軟件代碼和一個定義明確的框架結構。Linux內核是Android操作系統(tǒng)的核心,因為它提供了硬件和各種Android組件之間的抽象。音頻處理需要大量復雜的操作和密集的算法來產(chǎn)生高保真音頻輸出。Android 音頻架構涉及許多復雜的軟件,必須處理許多方面,例如支持揚聲器、聽筒、耳機、HDMI、麥克風、藍牙 SCO、A2DP 等音頻硬件,以及不同的軟件應用程序,如電話、媒體播放器錄音機、VIOP 應用程序和 SIP 應用程序。本文重點介紹 Android 音頻架構中不同組件的高級功能。

安卓音頻架構概述

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

poYBAGRTFwuAZm7QAAI0YWClXlc315.png

安卓音頻架構

安卓音頻APP和JAVA框架

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

粘結 劑

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

音頻管理器

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

音頻策略服務

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

音頻投擲器服務

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

音頻服務

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

音頻 HAL

硬件抽象層 (HAL) 是 Android 堆棧中的一個層,它為上層運行的本機音頻服務提供標準訪問接口。音頻 HAL 將上層橋接到較低級別的音頻驅動程序實現(xiàn)。供應商必須使用特定的音頻驅動程序代碼實現(xiàn)音頻 HAL 接口。音頻 HAL 作為單獨的 Android 進程在用戶空間中運行,以執(zhí)行上層所需的功能。

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

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

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

音頻設備接口

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

內核驅動程序

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

Android堆棧是需要為不同的硬件平臺構建的巨大軟件代碼。理解和修改較低的Android層非常困難,因為它需要大量的調試技能。硬件級實現(xiàn)因每個供應商而異,需要與為上層定義的接口準確映射。代碼庫中許多未記錄的部分更加復雜且特定于供應商,并且它使用復雜的IPC機制,并在編程語言之間切換。

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

審核編輯?:郭婷

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

    關注

    66

    文章

    18672

    瀏覽量

    185533
  • Android
    +關注

    關注

    12

    文章

    3983

    瀏覽量

    132960
  • 操作系統(tǒng)

    關注

    37

    文章

    7324

    瀏覽量

    128560
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于Freescale MCU與Audio Codec的音頻附件設計

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

    車載系統(tǒng)的設計方案和注意事項

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

    Android端自定義鈴聲 MobPush對端自定義鈴聲的教程

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

    【原創(chuàng)】Dex分包架構設計—實現(xiàn)熱修復

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

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

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

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

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

    鴻蒙 vs 六大維度對比

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

    支持RISC-V架構的技術剖析

    本帖最后由 jf_11671167 于 2021-10-9 10:29 編輯 關鍵詞:、玄鐵C910、虛擬機、RISC-V架構,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)存在漏洞,可無需獲得用戶許可就能捕獲視頻和音頻

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

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

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

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

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

    I BUS適配器BMW音頻

    電子發(fā)燒友網(wǎng)站提供《I BUS適配器BMW音頻.zip》資料免費下載
    發(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處理器被廣泛應用于個人移動互聯(lián)網(wǎng)設備和其他應用程序。MT6765采用了八核Cor
    的頭像 發(fā)表于 10-11 19:27 ?2258次閱讀
    <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將提升對助聽器支持,改善音頻體驗

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