声音池

Xml文件中就是一个按钮
在res目录下创建一个文件夹命名为”raw”,里面存放声音xx.mp3
代码实现
public class MainActivity extends Activity {

  private SoundPool soundPool;//声音池
  private int sound;//声音池中某个声音的编号

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    /*
    * 实例化声音池
    * 参数一:声音池中最多准备装多少个声明数
    * 参数二:声音类型
    * 参数三:当前无用,为将来做扩展之用,先用0替代
    */
    soundPool = new SoundPool(5,AudioManager.STREAM_MUSIC,0);

    /*
    * 向声音池中加载具体的音乐,注意,小音乐
    * 参数一:上下文
    * 参数二:音乐在R文件中的编号
    * 参数三:目前无用,为将来扩展之用,先用1替代
    */
    sound=soundPool.load(this, R.raw.oo, 1);
  }

  public void click(View v){
    /*
    * 播放声音池中指定的音乐
    * 参数一:需要播放音乐的编号
    * 参数二:左声量大小,0表示音量最小
    * 参数三:右声量大小,0表示音量最小
    * 参数四:优先级,0最低
    * 参数五:循环否,0不循环,-1循环
    * 参数六:速度,0.5F-2.0F,0.5慢,2.0快,1.0正常
    */
    soundPool.play(sound, 1F, 1F, 1, -1, 1F);
  }
}

posted on 2017-10-20 14:04  konekou  阅读(157)  评论(0编辑  收藏  举报