一般大家使用的是MediaPlayer来播放音频,它的创建和销毁都是非常消耗资源的,如果我们的需求是播放一些短促而且频繁播放的音频的话MediaPlayer就有些不合适了,我们来讲讲SoundPool来播放短促的音频:
SoundPool结构如下
初始化SoundPool
初始化SoundPool
我们直接new SoundPool (int maxStreams, int streamType, int srcQuality)
即可
参数解释:
参数 | 解释 |
---|---|
maxStreams | 最大的流的数量 |
streamType | 流的类型(看下图)建议AudioManager.STREAM_SYSTEM |
srcQuality | 频的质量,默认是0,目前没有影响 |
重要方法
加载音频
在load
方法中我们一般是把音频文件放到res
的raw
文件夹下,然后使用load(Context context, int resId, int priority)
方法来加载音频到SoundPool
中:
参数解释:
参数 | 解释 |
---|---|
context | 上下文 |
resId | 音频文件的地址:R.raw.deep |
priority | 优先级:都是短促音频无影响设置为1即可 |