Я хочу разрешить пользователю отключать приложение с помощью кнопки, и кто-то посоветовал мне «прикрепить логическое значение к вашему MediaPlayerPool, для которого вы установили значение false при нажатии кнопки отключения звука». Затем в вашем методе playSound ничего не делайте, если значение равно false, но я не знаю, как это сделать. Может ли кто-нибудь опубликовать пример кода, пожалуйста. Код пула:
public class MediaPlayerPool {
private static MediaPlayerPool instance = null;
private Context context;
private List<MediaPlayer> pool;
public static MediaPlayerPool getInstance(Context context) {
if(instance == null) {
instance = new MediaPlayerPool(context);
}
return instance;
}
private MediaPlayerPool(Context context) {
this.context = context;
pool = new ArrayList<>();
}
public void playSound(int soundId) {
MediaPlayer mediaPlayer = MediaPlayer.create(context, soundId);
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
mediaPlayer.release();
pool.remove(mediaPlayer);
mediaPlayer = null;
}
});
pool.add(mediaPlayer);
mediaPlayer.start();
}
}