按声音的功能不同可分为:音乐和音效。
音效的特点是:快、短,即:时间短,反应快。
所以不能使用播放较长时间音乐的播放技术,应该使用 android.media.SoundPool 来实现。
SoundPool 类用于管理和播放应用程序里的声音资源,该类将声音文件加载到内存中,出于性能考虑,一般只将时间小于7秒的声音文件用该技术播放。
在用 SoundPool 类播放文件时首先要得到一个 SoundPool 类的对象。
可通过其构造方法:public SoundPool (int maxStreams, int streamType, int srcQuality) 得到其对象。
public SoundPool () {
int maxStreams, // 设置同时能够播放多少个音效
int streamType, // 设置音频类型,游戏中通常设为:STREAM_MUSIC
int srcQuality // 设置音频文件的质量,现在还没效果,一般设为0
}
有了 SoundPool 对象之后,就可以将音频文件加载到该对象中。
加载音频文件可用 public int load (Context context, int resId, int priority) 来加载。
public int load (
Context context, // 应用程序的上下文,即当前的Activity, 可以理解为谁来调用这个方法
int resId, // 资源的ID
int priority // 优先级,现在还没作用,设置为1,以便和未来的方法兼容
)
文章摘自 Android开发中的声音介绍