我尝试过这项工作。 Android的SoundPool类正在加载.ogg音频文件(已测试),但它没有播放。 由于一些奇怪的原因,我无法让这个工作。我已经关注了很多这方面的教程和论坛,但仍然无法使其发挥作用。
这是我的代码:
作为全局变量:
SoundPool soundPool;
boolean ya = false;
关于我的活动onCreate:
this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){
soundPool = new SoundPool.Builder()
.setMaxStreams(15)
.build();
}else{
soundPool = new SoundPool(15, AudioManager.STREAM_MUSIC, 0);
}
soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {
@Override
public void onLoadComplete(SoundPool sp, int sampleId, int status) {
ya = true;
}
});
soundPool.load(this, R.raw.explosion_1, 1);
最后,在我的一个按钮的onClick方法上:
public void instructions(View v){
if(ya){
soundPool.play(R.raw.explosion_1, 0.99f, 0.99f, 1, 0, 0.99f);
}
}
请帮忙。
答案 0 :(得分:4)
要播放声音,您需要将id
的{{1}}传递给load()
。
play()
答案 1 :(得分:0)
我使用以下代码播放了SD卡中的声音,它对我有用。
ButtonGroup