SoundPool播放音频
时间: 2024-05-01 16:19:49 浏览: 60
SoundPool是Android提供的一个轻量级音频播放框架,适用于播放短时且音质要求不高的声音,比如游戏音效、按键声等。
以下是一个简单的SoundPool播放音频的示例代码:
```java
private SoundPool soundPool;
private int soundID;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建SoundPool实例
soundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0);
// 加载音频文件
soundID = soundPool.load(this, R.raw.sound, 1);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 播放音频
soundPool.play(soundID, 1, 1, 0, 0, 1);
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
// 释放SoundPool资源
soundPool.release();
}
```
在代码中,首先创建了一个SoundPool实例,并通过load()方法加载了一个音频文件,其中第二个参数指定音频流类型为STREAM_MUSIC,第三个参数指定音频文件的质量,一般设为0即可。
在点击按钮时,调用play()方法播放音频,该方法的参数依次为音频文件的ID、左右声道音量、优先级、循环次数、播放速度。
最后需要在Activity销毁时释放SoundPool的资源。
阅读全文