android 音频系统java部分代码阅读
16lz
2021-01-23
音频系统java相关的代码在./frameworks/base/media/java/android/media/目录下
主要有如下文件:
AudioManager.java
为上层应用提供了声音设置管理接口.
AudioService.java
音频设置服务, 它在SystemServer中启动,为所有的音频相关的设置提供服务。
在AudioService 中定义了了一个AudioSystemThread 的类,用来监控音频控制
相关的信号,当有请求时,它会通过调用AudioSystem 的接口实现音频的控制,
这里的消息处理是异步的。此外在AudioService还抽象出了一套发送音频控制信
号的接口为AudioManager提供支持。
AudioSystem.java:
提供了音频系统的基本类型定义,以及基本操作的接口。它对应于
frameworks/base/core/jni/android_media_AudioSystem.cpp
Ringtone.java
RingtoneManager.java
为铃声、闹钟等提醒提供了快速的播放以及管理接口。
AudioTrack.java
直接为PCM数据提供支持,对应于frameworks/base/core/jni/android_media_AudioTrack.cpp
SoundPool.java
提供了为引用播放声音的接口,在加载文件等方面做了优化。
ToneGenerator.java
提供了播放DTMF tones 的支持,
如电话的拨号音,对应于直接为PCM数据提供支持,对应于frameworks/base/core/jni/android_media_ToneGenerator.cpp
AudioRecord.java
这个是音频系统对外的录制接口,对应于:frameworks/base/core/jni/android_media_AudioRecord.cpp
主要有如下文件:
AudioManager.java
为上层应用提供了声音设置管理接口.
AudioService.java
音频设置服务, 它在SystemServer中启动,为所有的音频相关的设置提供服务。
在AudioService 中定义了了一个AudioSystemThread 的类,用来监控音频控制
相关的信号,当有请求时,它会通过调用AudioSystem 的接口实现音频的控制,
这里的消息处理是异步的。此外在AudioService还抽象出了一套发送音频控制信
号的接口为AudioManager提供支持。
AudioSystem.java:
提供了音频系统的基本类型定义,以及基本操作的接口。它对应于
frameworks/base/core/jni/android_media_AudioSystem.cpp
Ringtone.java
RingtoneManager.java
为铃声、闹钟等提醒提供了快速的播放以及管理接口。
AudioTrack.java
直接为PCM数据提供支持,对应于frameworks/base/core/jni/android_media_AudioTrack.cpp
SoundPool.java
提供了为引用播放声音的接口,在加载文件等方面做了优化。
ToneGenerator.java
提供了播放DTMF tones 的支持,
如电话的拨号音,对应于直接为PCM数据提供支持,对应于frameworks/base/core/jni/android_media_ToneGenerator.cpp
AudioRecord.java
这个是音频系统对外的录制接口,对应于:frameworks/base/core/jni/android_media_AudioRecord.cpp
更多相关文章
- Unity与Android接口互相调用
- Android音频播放--SoundPool
- Android Interface Definition Language (AIDL) android接口定义
- Android 访问Webservice接口,参数对象不能串行化问题解决(java.lan
- android中调用系统功能 来显示本地相册图片 拍照 视频 音频功能
- Android接口初了解
- Android 9.0 (P版本) 亮度控制接口变更
- Android中Adapter接口及其实现类详解