ANDROID Audio音效的设置和控制

2020-04-18 02:32

ArcherMind Inc. Confidential

Audio音效的设置和控制

学习总结

History

V1 完成文档 12年04月23日

ArcherMind Inc. Proprietary – For Internal Use Only

CONFIDENTIAL Date

Page 1 of 33

Author 王京阳

目录

1.0 Audio系统综述 ............................................................................................................ 2 1.1 Audio系统结构 ........................................................ 3 1.2 Audio系统代码位置 .................................................... 4 1.3 Audio系统和上层接口 .................................................. 5 1.3.1 Audio系统的各个层次 ............................................ 5 1.3.2 media库中的Audio框架部分 ...................................... 6 1.3.3 AudioFlinger本地代码 ........................................... 8 1.3.4 Audio系统的JNI代码 ............................................ 9 1.3.5 Audio系统的Java代码 ........................................... 9 2.0 音效设置及控制 ........................................................................................................... 11 2.1 不同类型声音资源的设置 ............................................... 11 2.2 拍照/录音时候的声音文件 .............................................. 12 2.3 默认铃声的设置 ....................................................... 14 2.4 拨号界面专属拨号按键音设置 ........................................... 17

ArcherMind Inc. Proprietary – For Internal Use Only

CONFIDENTIAL Date

Page 2 of 33

2.5 添加音频效果的设置项 ................................................. 19 2.6 音量控制 ............................................................. 24 2.7 音频系统 ............................................................. 27 2.7.1 音频类型 ...................................................... 28 2.7.2 输入输出设备 .................................................. 28 2.7.3 音频策略管理 .................................................. 30 2.8 RingerMode ........................................................... 31 2.8.1利用AudioManager使用RingerMode ............................... 31 2.8.2 RingerMode在AudioService中内部实现 ........................... 31 2.8.3 配置RingerMode对特定AudioStream的影响 ....................... 32

1.0 Audio系统综述

Audio系统在Android中负责音频方面输入/输出层次〃一般负责播放PCM声音输出和从外部获取PCM声音〃以及管理声音设备和设置。

1.1 Audio系统结构

主要分成如下几个层次:

(1)media库提供的Audio系统本地部分接口; (2)AudioFlinger作为Audio系统的中间层; (3)Audio的硬件抽象层提供底层支持;

(4)Audio接口通过JNI和Java框架提供给上层。

Audio系统的各个层次接口主要提供了两方面功能:放音(Track)和录音

ArcherMind Inc. Proprietary – For Internal Use Only

CONFIDENTIAL Date

Page 3 of 33

(Recorder)。

Android的Audio系统结构如图1-1所示。

图1.1Android的audio系统结构

1.2 Audio系统代码位置

Android系统的代码分布情况如下所示: (1)Audio的Java部分

代码路径:frameworks/base/media/java/android/media

ArcherMind Inc. Proprietary – For Internal Use Only

CONFIDENTIAL Date

Page 4 of 33

与Audio相关的Java包是android.media〃主要包含AudioManager和Audio系统的几个类。

(2)Audio的JNI部分

代码路径:frameworks/base/core/jni

生成库libandroid_runtime.so〃Audio的JNI是其中的一个部分。 (3)Audio的框架部分

头文件路径:frameworks/base/include/media/ 源代码路径:frameworks/base/media/libmedia/

Audio本地框架是media库的一部分〃本部分内容被编译成库libmedia.so〃提供Audio部分的接口(包括基于Binder的IPC机制)。

(4)Audio Flinger

代码路径:frameworks/base/services/audioflinger(注:android2.3) 这部分内容被编译成库libaudioflinger.so〃它是Audio系统的本地服务部分。 (5)Audio的硬件抽象层接口

头文件路径:hardware/libhardware_legacy/include/hardware/

Audio硬件抽象层的实现在各个系统中可能是不同的〃需要使用代码去继承相应的类并实现它们〃作为Android系统本地框架层和驱动程序接口。

ArcherMind Inc. Proprietary – For Internal Use Only

CONFIDENTIAL Date

Page 5 of 33


ANDROID Audio音效的设置和控制.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:二外法语讲义—词汇语法篇-1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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