在res下新建一个raw文件把提示音全部放在这个文件中
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private Button mButton;
private SoundPool pool;
int voiceid;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButton= (Button) findViewById(R.id.button_sound);
mButton.setOnClickListener(this);
//SDK版本的不同而引发的问题
if (Build.VERSION.SDK_INT>21){
SoundPool.Builder builder=new SoundPool.Builder();
builder.setMaxStreams(2);
AudioAttributes.Builder attrBuilder=new AudioAttributes.Builder();
attrBuilder.setLegacyStreamType(AudioManager.STREAM_MUSIC);
builder.setAudioAttributes(attrBuilder.build());
pool=builder.build();
}else{
pool=new SoundPool(2, AudioManager.STREAM_MUSIC,0);
}
voiceid =pool.load(getApplicationContext(),R.raw.outgoing,1);//这是一个耗时操作放在点击事件外可以马上听到声音
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.button_sound:
pool.play(voiceid,1,0,1,1,1);
break;
}
}