Android_Audio_深入分析

2025-07-29

[键入文字]

[键入文字]

Android

音频通路架构分析

[键入文字]

目录

1. 2. 3.

Abstract ..................................................................................................................................... 3 Introduction .............................................................................................................................. 3 ARM11侧audio通路设置 ....................................................................................................... 4 3.1 代码位置 ....................................................................................................................... 5 3.2 录音通路控制 ............................................................................................................... 6

3.2.1 AudioRecord创建 ............................................................................................. 6 3.2.2 AudioRecord start ............................................................................................ 11 ARM9侧audio通路设置 ....................................................................................................... 15 4.1 代码位置 ..................................................................................................................... 16 4.2 通路控制 ..................................................................................................................... 17

4.2.1 RPC&Snd Task .................................................................................................. 17 4.2.2 DEVMGR .......................................................................................................... 18 4.2.3 AFE(audio codec config) .................................................................................. 19 4.2.4 ADIE(ADIE codec config) .................................................................................. 21 ARM9侧audio通路添加 ....................................................................................................... 22 内部PA和外部PA的使用 ..................................................................................................... 26 Audio数据流 .......................................................................................................................... 27

4.

5. 6. 7.

[键入文字]

[键入文字]

1.

Abstract

主要是分析一下android平台音频通路的设置架构。

2. Introduction

音频架构在android系统中非常复杂,本节主要分析audio通路的设置,以Radio通路的设置为例,详细介绍一下ARM9和ARM11侧的audio通路如何设置。

从整体架构上分析,与audio通路设置相关的模块包括ARM11,ARM9,ADSP,MDSP,Codec,音频设备。其中控制信息主要集中在ARM11,ARM9,Internal Codec部分。以图中的audio control data的流向为主线,对audio通路的设置进行分析。 主要包含以下几部分:

? ARM11侧audio通路设置 ? ARM9侧audio通路设置 ? ARM9侧audio通路添加

[键入文字]

[键入文字]

3.

ARM11侧audio通路设置

FMRadioJava ApplicationAudioRecordFMRadioServiceAudioTrackJNIandroid_media_AudioRecordandroid_media_AudioTrackAudioRecordAudioSystemAudioTrackFrameworkAudioPolicyManagerBaseAudioPolicyServiceAudioFlingerAudio HALKernel/dev/msm_pcm_inAudioHardware/dev/msm_pcm_out/dev/msm_sndRPC Router FM采取了先录再放的机制来设置声音通路。如上图所示,总共包含以下几部分: JAVA应用层:包含FM的用户操作界面等,主要是FMRadio.java和FMRadioService.java. JNI层:主要用于连接java和c代码的中间层,主要是android_media_AudioRecord.cpp和android_media_AudioTrack.cpp。 Framework层:包含Audio通路的控制以及混音等操作。其中最主要的部分集中在AudioFlinger.cpp中。 Audio HAL层:硬件抽象层,其中包含streamIn和streamOut,与内核中的各个音频节点进行交互。 Kernel层:包括对音频通路控制设备,audio数据的输入输出设备的操作。

[键入文字]

[键入文字]

3.1

代码位置

JAVA Application程序路径: Packages/apps/fm

JNI程序路径:

Frameworks/base/core/jni/android_media_AudioRecord.cpp Frameworks/base/core/jni/android_media_AudioTrack.cpp

Framework程序路径:

Frameworks/base/media/libmedia/AudioRecord.cpp Frameworks/base/media/libmedia/AudioTrack.cpp

Frameworks/base/libs/audioflinger/AudioPolicyService.cpp

Frameworks/base/libs/audioflinger/AudioPolicyManagerBase.cpp Frameworks/base/libs/audioflinger/AudioFlinger.cpp Audio HAL程序路径:

Hardware/msm7k/libaudio/AudioHardware.cpp

Kernel程序路径:

Kernel/arch/arm/mach-msm/qdsp5/Snd.c Kernel/arch/arm/mach-msm/Audio_in.c Kernel/arch/arm/mach-msm/Audio_out.c

[键入文字]


Android_Audio_深入分析.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:语言学概论习题与答案2024年10月(附答案)

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219