第12章 开发音频/视频应用程序
在多媒体领域中,音频永远是最主流的应用之一。在本书前面的内容中,已经讲解了Android底层音频系统的基本知识。在顶层的Java应用中,可以通过底层提供的接口来开发常见的音频应用。在本章的内容中,将详细讲解开发Android音频应用的基本知识,为读者步入后面知识的学习打下基础。
12.1 音频应用接口类概述
Android系统顶层的音频应用功能是通过专用接口实现的,在Android中会根据不同的场景,开发者选择用不同的接口来播放音频资源。在Android中提供了专门的接口类来实现音频应用功能,具体说明如下所示。
- 音乐类型的音频资源:通过MediaPlayer来播放。
- 音调:通过ToneGenerator来播放。
- 提示音:通过Ringtone来播放。
- 游戏中的音频资源:通过SoundPool来播放。
- 录音功能:通过MediaRecorder和AudioRecord等来记录音频。
除了上述音频处理类之外,在Android中也提供了相关的类来处理音量调节和音频设备的管理等功能,具体说明如下所示。
- AudioManager:通过音频服务,为上层提供了音量和铃声模式控制的接口,铃声模式控制包括扬声器、耳机、蓝牙等是否打开,麦克风是否静音等。在开发多媒体应用时会经常用到AudioManager。
- AudioSystem:提供了定义音频系统的基本类型和基本操作的接口,对应的JNI接口文件为android_media_AudioSystem.cpp。在Android音频系统中主要包括如下所示的音频类型。