Android 系统顶层的音频应用功能是通过专用的接口实现的,这些接口能够帮助开发者实现播放音频资源的功能。
在Android中能够实现如下音频功能的接口类:
- 音乐类型的音频资源:通过MediaPlayer来播放。
- 音调:通过ToneGenerator来播放。
- 提示音:通过Ringtone来播放。
- 游戏中的音频资源:通过SoundPool来播放。
- 录音功能:通过MediaRecorder和AudioRecord等来记录音频。
除了上述类之外,Android还提供了实现音量调节和音频设备管理等功能的类。
AudioManager:通过音频服务,为上层提供了音量和铃声模式控制接口,铃声模式控制包过扬声器、耳机、蓝牙等是否打开,麦克风是否静音等。
AudioSystem:提供了定义音频系统的基本类型和基本操作接口,对应的JNI接口文件为android_media_AudioSystem.cpp.在Android音频系统中主要包过如下类型:
- STREAM_VOICE_CALL(打电话时的声音)
- STREAM_SYSTEM(Android系统声音)
- STREAM_RING(电话响铃声音)
- STREAM_MUSIC(音乐声音)
- STREAM_ALARM(警告声音)
- STREAM_NOTIFICATION(窗口顶部状态栏通知声)
- STREAM_BLUETOOTH_SCO(使用蓝牙耳机通话音频流)
- STREAM_SYSTEM_ENFORCED(些国家强制使用的音频流)
- STREAM_DTMF(双音多频)
- STREAM_TTS(Text to Speech:文件到语言的音频流,即机器说话)
AudioTrack:直接为PCM数据提供支持,对应的JNI接口文件为android_media_AudioTrack.cpp.