SoundPool的使用案例
2016-09-24 18:58
225 查看
相比于MediaPlayer, SoundPool的优点有:
1. 所需的资源量较小,反应的延迟也更小
2. 支持多个音频同时播放
3. 可自行设置音频的品质,播放比率等参数
SoundPool适用于播放短而密集的音频
SoundPool主要有load()方法和play方法:
int play(int soundId, float leftVolume, float rightVolume, int priority, int loop, float rate) : loop: 0为不循环,-1为循环,0.5<= rate <=2.0
对于音效池SoundPool,一般使用HashMap去管理多个音频
使用案例代码和解释如下:
布局文件略
1. 所需的资源量较小,反应的延迟也更小
2. 支持多个音频同时播放
3. 可自行设置音频的品质,播放比率等参数
SoundPool适用于播放短而密集的音频
SoundPool主要有load()方法和play方法:
int play(int soundId, float leftVolume, float rightVolume, int priority, int loop, float rate) : loop: 0为不循环,-1为循环,0.5<= rate <=2.0
对于音效池SoundPool,一般使用HashMap去管理多个音频
使用案例代码和解释如下:
public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private Button btn1,btn2; SoundPool soundPool; HashMap<Integer,Integer> soundMap = new HashMap<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1 = (Button) findViewById(R.id.btn1); btn2 = (Button) findViewById(R.id.btn2); // 创建audio属性对象 AudioAttributes attrs = new AudioAttributes.Builder() // 设置音效使用的场景 .setUsage(AudioAttributes.USAGE_GAME) // 设置音效的类型 .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC) // 创建audio .build(); // 使用SoundPool.Builder创建 SoundPoll对象 并设置属性 soundPool = new SoundPool.Builder() // 设置音效池属性 .setAudioAttributes(attrs) // 设置最多可容纳10个音效音频 .setMaxStreams(10) // 创建音效池 .build(); // 使用HashMap去管理音效池的音频 // 1是priority值,目前没有用 soundMap.put(1,soundPool.load(this,R.raw.a,1)); soundMap.put(2,soundPool.load(this,R.raw.zhenfu,1)); btn1.setOnClickListener(this); btn2.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn1: // 播放音频 soundPool.play(soundMap.get(1),1,1,1,0,1); break; case R.id.btn2: soundPool.play(soundMap.get(2),1,1,1,0,1); break; } } }
布局文件略
相关文章推荐
- Android - API - android.media.SoundPool (专用于播放音效)
- 各种提示信息
- SoundPool用于播放短小的音效
- Android中音频的播放
- Android声音播放之SoundPool
- Android学习 游戏开发之打地鼠(终)(五,排行榜和游戏音效)
- Android SoundPool使用模板
- android使用SoundPool 播放短音效
- SoundPool播放音频资源
- SoundPool
- SoundPool的使用技巧
- Android SoundPool.play方法的音量与系统音量的关系
- 使用AudioTrack和MediaPlayer播放声音的区别
- 实现游戏音效的预加载
- android控制soundpool播放音量
- Android应用:SoundPool 播放音效
- android服务开线程关闭其他应用
- Android的SoundPool类使用与利弊
- Android中的音频播放(MediaPlayer和SoundPool)
- android中常见声音操作方式(Ringtone,SoundPool,MediaPlayer)小结