soundpool的基本用法

1、soundpool多用于开发中打斗声音配音,用mediaplayer太占用资源并且有很大的延迟,soundpool的资源放在raw文件里,加载到项目里,因此里面的声音文件不建议过大。

public class MainActivity extends ActionBarActivity {
	
	private SoundPool pool;
	private int soundId;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        pool=new SoundPool(3, AudioManager.STREAM_MUSIC, 0);
    //  这一步是异步操作,需要花费一定的时间,如果放在点击事件里,则尤须是异步的,还没加载玩,就play了,里面是空,所有点击时不会有声音的
        soundId=  pool.load(this,R.raw.ring, 1);
} public void shoot(View v) {
    
//  这一步是异步操作,需要花费一定的时间
  //     soundId=  pool.load(this,R.raw.ring, 1);
pool.play(soundId, 1, 1, 0, 0, 0.5f);//最后一个参数是声音的播放速度 } }

 

原文地址:https://www.cnblogs.com/bokeofzp/p/4739769.html