Android SoundPool 音频播放示例:使用按钮播放两个音频文件
首先,在res文件夹下创建一个名为'raw'的文件夹,将音频文件'music1.mp3'和'music2.mp3'放入其中。
接下来,在MainActivity.java文件中编写代码:
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private SoundPool soundPool;
private int sound1, sound2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化SoundPool
soundPool = new SoundPool(2, AudioManager.STREAM_MUSIC, 0);
// 加载音频文件
sound1 = soundPool.load(this, R.raw.music1, 1);
sound2 = soundPool.load(this, R.raw.music2, 1);
// 设置按钮点击事件
Button play1Button = findViewById(R.id.play1_button);
play1Button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
soundPool.play(sound1, 1, 1, 0, 0, 1);
}
});
Button play2Button = findViewById(R.id.play2_button);
play2Button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
soundPool.play(sound2, 1, 1, 0, 0, 1);
}
});
}
// 释放SoundPool资源
@Override
protected void onDestroy() {
super.onDestroy();
soundPool.release();
soundPool = null;
}
}
其中,SoundPool是Android提供的一个用于播放短音频文件的类,它可以通过load()方法加载音频文件,并通过play()方法播放音频文件。在MainActivity中,我们首先初始化了SoundPool,并加载了'music1.mp3'和'music2.mp3'两个音频文件。然后,为'播放1'和'播放2'两个按钮设置了点击事件,分别播放对应的音频文件。
最后,为了避免资源浪费,我们在onDestroy()方法中释放了SoundPool的资源。
原文地址: http://www.cveoy.top/t/topic/oTcN 著作权归作者所有。请勿转载和采集!