JAVA:

Audioservice、Audiomanager和Audiosystem

AudioService:

继承自IAudioService.Stub,IAudioService.Stub类很明显是通过IAudioService.aidl自动生成的。AudioService位于Bn端。

AudioManager:

AudioManager拥有AudioService的Bp端,是AudioService在客户端的一个代理。

几乎所有客户端对AudioManager进行的请求,最终都会交由AudioService实现。

AudioSystem:

AudioService的功能实现依赖AudioSystem类,AudioSystem无法实例化,它是java层到native层的代理。

AudioService将通过它与AudioPolicyService以及AudioFlinger进行交互

C++:

AudioFlinger,AudioPolicyServices和MediaPolicyService

AudioFlinger与AudioPolicyServices:

Android音频系统的两大服务,一个服务是AudioPolicyService,另一个服务是audioflinger。

这两大服务都在系统启动时有MediaSever加载,加载的代码位于:frameworks/base/media/mediaserver/main_mediaserver.cpp

AudioFinger是Audio系统的工作引擎,管理者系统中输入输出音频流,并承担音频数据混音,以及读写Audio硬件等工作以实现数据的输入输出功能。

AudioPolicyService是Audio系统策

Audioservice、Audiomanager和Audiosystem相关推荐

  1. 安卓声音管理器AudioManager的使用

    AudioManager是安卓sdk提供的声音管理接口,可以通过此接口管理手机声音模式声音.震动.静音等模式切换,也可以调节音量大小. 首先要获取声音管理器: AudioManager audioSe ...

  2. android通话流程浅析RIL层

    拨出电话流程: 1 在系统源码这个路径下/packages/apps/Phone/src/com/android/phone/DialtactsActivity.java contacts的andro ...

  3. 转:Andriod Phone模块相关

    http://hi.baidu.com/anly%5Fjun/blog/index/0 Andriod Phone模块相关(总览) 2010-01-30 13:50 1.从java端发送at命令的处理 ...

  4. <一>Android Audio音频框架

    目录 1.0 设备驱动 2.0  android hal层 3.0  选择设备的暗箱策略AudioPolicy 4.0  软件层面的混音,AudioFlinger 5.0 完整的对外接口 AudioS ...

  5. Android audio介绍

    转自 https://www.cnblogs.com/hzl6255/p/12173595.html 阅读目录 1. 架构 2. Audio HAL 3. Native Audio 4. Java A ...

  6. Android IBinder的linkToDeath介绍及情景模拟

    最近查看Framework源码的时候,读到了AudioService处理音量的流程,在这里碰到了IBinder的linkToDeath()这个知识点,比较感兴趣,所以记录下来,并自己写demo尝试了一 ...

  7. USB Audio accessory设备

    这个手机做device, audio accessory是Host. 以高通msm8x26(USB2.0) Lolliop android 5.0/5.1为例 1 代码 • Kernel kernel ...

  8. 项目ITP(二) 二维码 拿起你的手机装一装,扫一扫 【每日一搏】

    正文 上文,我们讲了 二维码生成 解码 这次我们就用 android 来扫一下,实现android 扫二维码. 下载扫一扫 包结构-介绍 #com.zxing.xx 这是 zxing 库提供的 #Ba ...

  9. Android的系统服务一览

    System_Server进程 运行在system server进程中的服务比较多,这是整个android框架的基础 Native服务 SurfaceFlinger 这是framebuffer合成的服 ...

最新文章

  1. iOS端Socket连接、发送数据(一)
  2. 浅谈先验分布和后验分布
  3. python怎么读write_Python中怎么读写文件
  4. mysql 事务涉及锁吗_MySQL-锁机制和事务
  5. hive建表映射到hbase
  6. eclipse jsp没有提示_JSP+Struts2+JDBC+Mysql实现的校园宿舍管理系统
  7. SAP UI5 Input字段live change事件的一个例子
  8. 从平台架构到大屏可视化,一文读懂金融服务行业的数据分析
  9. Linux基本操作——Linux磁盘基本概念
  10. bi工具选型_数据分析工具:选合适了,分析也能事半功倍
  11. 红帽linux 竞争对手,为什么红帽不把CentOS当作竞争对手?
  12. 腰椎患者多运动好,还是多休息好?
  13. 430.扁平化多级双向链表
  14. 账号注册邮箱激活设计
  15. 非广延统计分布结构化分析的本征坐标法应用
  16. 苹果cmsv10模板全局响应式自适应模板电影网站模板源码
  17. python如何打开excel表格_python怎么读取excel表格
  18. 调查计算机对运算能力的影响,计算器对计算能力的影响
  19. 用exec()函数执行新程序
  20. 特征缩放(Feature Scaling)

热门文章

  1. time gmtime localtime strftime 时间函数
  2. 英语作文计算机国际会议开幕词,学术会议开幕词英文.doc
  3. android 颜色 数组,在Android中声明维数,颜色,资源ID或其他非标准数据类型的数组?...
  4. CCF 模拟题,公共钥匙盒
  5. js实现文件下载并重命名
  6. 网页转pdf乱码问题,楷体部分出乱码
  7. js关闭当前网页的代码
  8. Dweb3.0的核心基础设施?NA(Nirvana)Chain加速开凿链上域名流量通道
  9. 基于Matlab的BiLSTM实现
  10. 2023 华为 Datacom-HCIE 真题题库 08/12--含解析