package org.Models;

import javazoom.jl.player.Player;

import java.io.BufferedInputStream;
import java.io.InputStream;

public class Musique extends Thread {
    private Player player;
    private boolean stop = false;
    private boolean enPause = false;

    public void run() {
        while (!stop) {
            try {
                if (!enPause) {
                    InputStream musique = getClass().getResourceAsStream("/TetrisMusic.mp3");
                    if (musique == null) {
                        System.err.println("Erreur : le fichier musique.mp3 est introuvable.");
                        return;
                    }
                    BufferedInputStream buffer = new BufferedInputStream(musique);
                    player = new Player(buffer);
                    player.play();
                } else {
                    Thread.sleep(1000); // Attendre 1 seconde avant de vérifier à nouveau
                }
            } catch (Exception e) {
                System.err.println("Erreur lors de la lecture de la musique : " + e.getMessage());
            }
        }
    }

    public void basculePlayPause() {
        if (enPause) {
            enPause = false;
        } else {
            enPause = true;
            if (player != null) {
                player.close();
            }
        }
    }

    public void arreterMusique() {
        stop = true;
        if (player != null) {
            player.close();
        }
    }
}
