package com.pas.soundpool; import java.io.IOException; import android.media.AudioManager; import android.media.SoundPool; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; public class MainActivity extends Activity { private SoundPool sp; private int soundid; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化须要写在OnCreate中 由于其为异步初始化 // 最多几个资源 资源类型 srcQuality暂无心义 默认用0 sp = new SoundPool(5, AudioManager.STREAM_MUSIC, 0); // 第三个参数暂时无用 //加载声音至声音池 soundid=sp.load(this, R.raw.fire, 1); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } /** * SoundPool用于快速播放小而短的声音 常见于游戏 * * @throws Exception */ public void fire(View v) { //声音id 左声道 右声道 优先级 //loop loop mode (0 = no loop, -1 = loop forever) //rate playback rate (1.0 = normal playback, range 0.5 to 2.0) sp.play(soundid, 1.0f, 0.3f, 0, 0, 2.0f); } }