Android java層音頻相關的分析與理解(一)基本框架


最近在整理之前在公司寫的一些文檔,於是決定將部分適用比較廣的文檔整理在博客中,供大家參考。第一個系列是AudioService相關的。這個可以算是《深入理解Android 卷Ⅲ》的一個讀書筆記吧。整體的思路基本上與《深入理解Android 卷Ⅲ》的Audio部分差不多。只是由於Android版本不一樣導致部分代碼等等不一樣。《深入理解Android》的書其實值得一讀。好了,廢話不多說,進入主題。


首先我們來看看上層音頻的框架




在Android中, AudioService是Android上層音頻的核心。AudioService在SystemServer中啟動,為所有音頻相關設置提供服務。AudioManager和AudioService是通過Binder機制進行通訊的。AudioManager擁有AudioService的Bp端,是AudioService在客戶的一個代理。幾乎所有的對AudioManager進行的請求,最終都會交給AudioService去處理。而AudioService的實現主要依賴於AudioSystem。AudioSystem是java層到native層的代理。無法實例化。下面我們通過關注不同的內容去具體地剖析上層的音頻相關內容。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com