笔记如下
- 引出:在qq中,如果有10个好友同时给你发消息,连续的提示音,如果全部是按照之前的方法,会非常麻烦.
MainActivity中
package com.chen.soundpool;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
public class MainActivity extends AppCompatActivity {
private SoundPool pool;
private int soundId;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//声音池
//maxStreams:声音池中同时可以播放声音的数量
//streamType:描述声音的类型
//srcQuality:声音的质量设0就行了
int maxStreams = 10;
int streamType = AudioManager.STREAM_MUSIC;
int srcQuality = 0;
pool = new SoundPool(maxStreams,streamType,srcQuality);
//加载一个声音文件
soundId = pool.load(this, R.raw.shoot, 1);
}
public void shoot(View view){
/* * @param soundID a soundID returned by the load() function
* @param leftVolume left volume value (range = 0.0 to 1.0)
* @param rightVolume right volume value (range = 0.0 to 1.0)
* @param priority stream priority (0 = lowest priority)
* @param loop loop mode (0 = no loop, -1 = loop forever)
* @param rate playback rate (1.0 = normal playback, range 0.5 to 2.0)
* @return non-zero streamID if successful, zero if failed*/
//soundID:load()返回值
//leftVolume:左声道
//rightVolume:右声道
//priority:优先级
//loop:是否无限循环,0:不循环,1:无限循环
//rate:播放的速率 range:0.5---2;
pool.play(soundId,1f,1f,0,0,1);
}
}