音频系统java相关的代码路径:
frameworks/base/media/java/android/media
核心类:
1.AudioManager.java
为上层应用提供了声音设置管理接口
2.AudioService.java
音频设置服务, 它在SystemServer中启动,为所有的音频相关的设置提供服务
3.AudioSystem.java
提供了音频系统的基本类型定义,以及基本操作的接口
对应JNI:frameworks/base/core/jni/android_media_AudioSystem.cpp
4.AudioTrack.java
直接为PCM数据提供支持
对应JNI:frameworks/base/core/jni/android_media_AudioTrack.cpp
5.AudioRecord.java
音频系统对外的录制接口
对应JNI:frameworks/base/core/jni/android_media_AudioRecord.cpp
6.SoundPool.java
提供了为引用播放声音的接口,在加载文件等方面做了优化
功能类:
1. Ringtone.java和RingtoneManager.java
为铃声、闹钟等提醒提供了快速的播放以及管理接口
2.ToneGenerator.java
提供了播放DTMF tones 的支持,应用于电话的拨号音
对应JNI:frameworks/base/core/jni/android_media_ToneGenerator.cpp
一些有价值的博文: