- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android_Audio架构全分析
Page ? * Android Audio 主要内容: 项目背景 项目平台及Android Audio整体框架 Android Audio Hardware 和驱动详细分析 1、项目背景 Android系统迅速崛起,其市场占有率已经超越iOS和Symbian成为第一大智能设备操作系统。作为一个开源的系统,Android被越来越多的硬件厂家所支持,使得Android被大量应用在智能手机和平板电脑。 多媒体应用向来是3C电子产品中的一个永恒话题,作为一个智能操作系统,Android自然少不了多媒体应用,正是在这种背景下,本项目分析Android Audio的基本框架以及底层驱动的实现。 1.1、项目平台和功能 平台: 硬件平台:smdkc100、WM9714 软件平台:Android 2.1、Linux kernel 2.6.29、alsa-lib 1.0.19、alsa-utils 1.0.19 功能: 使用 Music App 播放音频文件 使用 SoundRecorder App进行录音 2.1、Android 2.1 Audio 框架分析 Music PacketVideo Open Core Platform Hardware 2.2、Android 2.1 Audio 框架分析 用户空间 内核空间 ALSA lib ALSA 框架 ASoc 驱动 ALSA lib 用于对底层驱动进行封装,以方便应用程序的编写;ALSA 框架对底层驱动进行封装,然后对应用程序提供一个统一的接口;ASoc 驱动是基于 ALSA 框架的驱动,它的主要思想是将板级相关的代码和芯片相关的代码分离,以提供驱动程序的移植性。 3.1、Hardware Android 2.1 自带 Audio Hardware : 用于实现将PCM流输出到文件,可以用来测试音频解码是否正确。 实现基于特定驱动(eac)的通用Audio硬件抽象层 实现一个虚拟的Audio硬件抽象层,这个实现不操作实际的硬件和文件,它所进行的是空操作,在系统没有实际的Audio设备时使用这个实现可以保证系统的正常运行。 3.1、Hardware Android 2.1 基于 ALSA 的 Audio Hardware 层: 基于ALSA驱动的Android Audio Hardware层。 3.1、Hardware Android 2.1 Audio Hardware 配置: 3.1、Hardware Android 2.1 Audio Hardware(ALSA) 分析: 3.2、Alsa lib alsa-lib运行在用户空间,他对alsa-driver进行封装,应用程序只要调用alsa-lib提供的API,即可以完成对底层音频硬件的控制。ALSA lib 编译后会生成 libasound.so,该库会被 AudioFlinger 动态链接,除此之外,编译后还会生成 alsa lib 配置文件。 3.3、ALSA驱动分析 ALSA框架的逻辑结构: snd_card 是整个 ALSA 框架的入口,ALSA框架在初始化时会首先创建一个 snd_card ,然后在其下创建多个设备(至少应包含一个PCM设备和一个Control设备,分别用于声音的录放和控制。) 3.3、ALSA驱动分析 ALSA框架初始化过程: 3.3、ASoc驱动简介 ASoc(ALSA System On Chip)是 ALSA 在 Soc 方面的发展和演变,它本质上仍然属于 ALSA ,但是在 ALSA 架构基础上对 CPU 相关的代码和 Codec 相关的代码进行了分离。 ASoc 主要由 3 部分组成: (1)、Codec驱动:这部分只进行 Codec 相关的操作。 (2)、平台驱动:这部分只进行 CPU 端的操作,它主要处理两个问题:DMA 引擎和 Soc 集成的 PCM、I2S或AC97数字接口控制。 (3)、板驱动:这部分将平台驱动和 Codec 驱动绑定在一起,描述了板一级的硬件特性。 对于目前的嵌入式系统,一般采用 ASoc 框架,这样能使驱动具有更好的移植性。 3.3、ASoc驱动分析 ASoc驱动源码: soc-core.c:ASoc 驱动核心 s5pc1xx-ac97.c:平台驱动 wm9713.c:Codec驱动 smdkc100_wm9713.c:板驱动 wm9713同时提供了PCM、I2S 和 AC97三种控制接口,从smdkc100电路图可以知道S5PC100与wm9713通过 AC97 控制接口相连,因此此处选用的平台驱动是:s5pc1
您可能关注的文档
- A2桩基础与地基基础工程.ppt
- ABB机器人(一系统介绍).ppt
- ACCAP7passcard.ppt
- ACEI治疗心衰.ppt
- ACEI与心力衰竭20070408.ppt
- ACEI临床应用.ppt
- ACS的处理幻灯2000.ppt
- ACCAHAST段抬高心梗2004指南解读.ppt
- ACsource的使用及操作规范.ppt
- Access应用管理进销存.ppt
- 多点监督与特征融合校准:目标检测算法的创新与突破.docx
- 南宁市门诊HIV_AIDS患者抑郁状况剖析与影响因素探究.docx
- 医疗过失犯罪中客观归责理论的精准适用与深度解析.docx
- 南宁市低碳经济发展研究.docx
- 清解瘀毒胶囊对脑出血大鼠血红蛋白毒性作用及机制探究.docx
- 内蒙古赤峰市元宝山区农村小学教师培训:现状、问题与突破路径.docx
- 泉州开发区国有资产投资经营有限公司发展战略研究:基于区域经济与市场环境的分析.docx
- 能源利用效率与经济增长方式的深度耦合及中国战略抉择.docx
- 分布式信号波达方向 - 时延联合估计算法的深度剖析与创新探索.docx
- 新媒体环境下大学校园精神传播的创新变革.docx
最近下载
- 【公开课】第四单元自然界的水大单元教学设计-九年级化学人教版(2024)上册.pptx VIP
- 2025年国投生物制造创新研究院有限公司招聘(31人)考试模拟试题及答案解析.docx VIP
- (高清版)DB34∕T 4866-2024 远程会诊服务规范.pdf VIP
- AMS 3678 D-2016 国外国际标准规范.pdf VIP
- 2023年文昌市委政法委员会招聘专职网格员考试真题(含答案).pdf VIP
- 高中毕业生登记表四川版.doc VIP
- 建设工程审计与案例完整全套教学课件.pptx
- GB50034建筑照明设计标准摘要及分析.pptx VIP
- (2025秋新版)大象版二年级科学上册新教材解读PPT课件.pptx
- 护理输血安全与指南课件.pptx VIP
文档评论(0)