- package com.jiahui.soundpool;
- import java.util.HashMap;
- import java.util.Map;
- import android.app.Activity;
- import android.media.AudioManager;
- import android.media.SoundPool;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- public class SoundPoolDemoActivity extends Activity implements OnClickListener {
- private Button btnbomb,
- btnshot,
- btnarrow;
- private SoundPool soundPool;
- Map < Integer,
- Integer > soundMap = new HashMap < Integer,
- Integer > ();
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- btnbomb = (Button) this.findViewById(R.id.btnbomb);
- btnshot = (Button) this.findViewById(R.id.btnshot);
- btnarrow = (Button) this.findViewById(R.id.btnarrow);
- btnbomb.setOnClickListener(this);
- btnshot.setOnClickListener(this);
- btnarrow.setOnClickListener(this);
- // 创建 SoundPool对象设置最多容纳10个音频。音频的品质为5
- soundPool = new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);
- // load方法加载音频文件返回对应的ID
- soundMap.put(1, soundPool.load(this, R.raw.bomb, 1));
- soundMap.put(2, soundPool.load(this, R.raw.shot, 1));
- soundMap.put(3, soundPool.load(this, R.raw.arrow, 1));
- }
- @Override public void onClick(View v) {
- switch (v.getId()) {
- case R.id.btnbomb:
- soundPool.play(soundMap.get(1), 1, 1, 1, 0, 1);
- break;
- case R.id.btnshot:
- soundPool.play(soundMap.get(2), 1, 1, 1, 0, 1);
- break;
- case R.id.btnarrow:
- soundPool.play(soundMap.get(3), 1, 1, 1, 0, 1);
- break;
- default:
- break;
- }
- }
- }
来源: http://lib.csdn.net/snippet/android/42747