Android Audio BSP工程师 需要清楚的基本知识点

【前言】

    这是我根据自己的工作经验所总结,有一定代表性,但可能不齐全。这只是个提纲。


【知识点】

    按照在操作系统中的层次划分,从上到下依次为:

1、Android系统分层模型。知道 APP、JNI、Frameworks、HAL、Driver 的划分以及 用户空间、内核空间 的概念。

2、Android Audio模块的启动、加载 及 放音/录音 流程。起码应该了解 AudioServer、AudioFlinger、AudioPolicyService、AudioPolicyManager、AudioTrack、Track、TrackHandle、PlaybackThread、RecordThread 这些部件分别在什么时候起作用。

3、Android系统常见分区的作用。例如 /boot、/system、/data、/sdcard、/sys、/proc、/dev。

4、Android系统启动流程。这里指的是在 init 进程跑起来之后各 Android 核心进程的启动顺序,比如 Zygote、Dalvik(或 ART)、SystemServer 等以及各种 server 和 service。

5、Linux Kernel启动流程主要是 设备上电、bootloader、zImage、ramdisk、驱动模块、init进程 这些。

6、设备驱动开发的一般流程及常用函数。这个没什么好说的。

7、ALSA架构 及 ASoC 概念。知道 DAPM、Widget、kControl、Codec Driver、Platform Driver、Machine Driver、DAI、DAI_LINK、DPCM、Tinyalsa 的含义。

8、能阅读 电路原理图 和 芯片Datasheet


【题外话】

    其实我一直不认为 Android 是真正的操作系统,因为操作系统的几大主要功能,即 进程调度、内存管理、文件系统管理、socket管理、进程间通信,这些都是由底层的 Linux 提供的。从我上方第 4 点的描述里也可以看出 ,所谓的 Android 系统实际上是跑在 Linux 之上的一系列进程的总和。

    不知道我的这个理解是否有问题,如果说得有偏差,欢迎各位朋友拍砖。



  • 14
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
好的,以下是关于Android音频系统和ALSA框架的详细知识点: 1. Linux内核音频子系统的工作原理: - 音频驱动程序:负责控制音频设备硬件,向应用程序提供音频数据的输入和输出接口。 - 音频设备:包括麦克风、扬声器、耳机等硬件设备,每个设备都有一个对应的驱动程序。 - 音频接口:包括alsa-lib、OSS、PulseAudio等,用于控制音频设备硬件,将音频数据输入和输出到系统中。 2. ALSA框架的工作原理: - alsa-lib:提供了一些库函数,用于访问ALSA音频设备驱动程序。 - alsa-utils:提供了一些命令行工具,用于控制ALSA音频设备驱动程序。 - alsa-plugins:提供了一些插件,用于实现不同的音频处理功能,如混音、回声消除等。 ALSA框架与音频设备驱动程序的交互方式如下: - 驱动程序提供了一个接口,用于控制音频设备硬件和获取音频数据。 - ALSA框架通过调用驱动程序的接口来访问音频设备硬件和获取音频数据。 - ALSA框架将应用程序发送的音频数据传输到音频设备驱动程序中,或从音频设备驱动程序中获取音频数据并传输给应用程序。 3. Android音频系统架构: - Audio HAL:负责管理音频设备驱动程序,并向上层提供音频设备的抽象接口。 - AudioFlinger:负责管理音频流的混音、采样率转换等,将音频数据传输到音频设备驱动程序中。 - AudioTrack:用于播放音频数据。 - AudioRecord:用于录制音频数据。 - AudioEffect:用于实现音频处理功能,如均衡器、回声消除等。 4. Android音频API的使用: - MediaPlayer:用于播放音频文件,支持本地文件和网络流媒体。 - SoundPool:用于播放短音频片段,支持同时播放多个音频。 - AudioTrack:用于播放PCM格式的音频数据,支持设置播放音量、循环播放等。 - AudioRecord:用于录制PCM格式的音频数据,支持设置录制音量、音频源等。 5. Android音频应用程序的开发: - 音频录制:需要使用AudioRecord类获取音频数据,并将数据保存到文件或通过网络传输。 - 音频播放:需要使用MediaPlayer或AudioTrack类播放音频文件或PCM格式的音频数据。 - 音频处理:需要使用AudioEffect类实现音频处理功能,如均衡器、回声消除等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值