播放音效文件SoundPool类:
顾名思义是声音池的意思。主要播放一些较短的声音片段,可以从程序的资源或文件系统加载,相对于MediaPlayer类可以做到使用较少的CPU资源和较短的反应延迟。
SoundPool和其他声音播放类相比,其特点是可以自行设置声音的品质、音量、播放比率等参等。并且它可以同时管理多个音频流,每个流都有独自的ID,对某个音频流的管理都是通过ID进行的。
构造器:
public SoundPool(int maxStream, int streamType, int srcQuality)
maxStream —— 同时播放的流的最大数量
streamType —— 流的类型,一般为STREAM_MUSIC(具体在AudioManager类中列出)
srcQuality —— 采样率转化质量,当前无效果,使用0作为默认值
常用方法:
public int load (Context context, int resId, int priority) 加载音频文件
context上下文
resId音效资源ID
priority优先级,现在还没有作用,设置为1即可
public final int play (int soundID, float leftVolume, float rightVolume, int priority, int loop, float rate) 播放音效资源
soundID播放音效的ID
leftVolume,控制左声道音量
rightVolume,控制右声道音量
loop,循环次数,0为不循环,-1为永远循环
rate,音效的回放速度,该值在0.5~2.0,1.0f为正常速度
public final void pause (int streamID) 暂停音效播放
streamID,要暂停的音效ID
public final void stop (int streamID) 停止播放音效
streamID,要停止的音效ID