public void playSound( ) {
SoundPool soundPool;
if (Build.VERSION.SDK_INT >= 21) {
SoundPool.Builder builder = new SoundPool.Builder();
builder.setMaxStreams(1);
AudioAttributes.Builder attrBuilder = new AudioAttributes.Builder();
attrBuilder.setLegacyStreamType(AudioManager.STREAM_MUSIC);
builder.setAudioAttributes(attrBuilder.build());
soundPool = builder.build();
} else {
soundPool = new SoundPool(1, AudioManager.STREAM_SYSTEM, 5);
}
soundPool.load(this, R.raw.du0, 1);
soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {
@Override
public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
soundPool.play(1, 1, 1, 0, 0, 1);
}
});
}
R.raw.du0为res\raw目录下放的短音频文件
本文介绍了一个简单的Android应用中实现音效播放的方法。通过SoundPool类根据设备API版本的不同使用相应构造器创建SoundPool实例,并加载res/raw目录下的音频资源。同时,设置音频加载完成后的回调以实现播放。
2848

被折叠的 条评论
为什么被折叠?



