Saturday, May 31, 2025

[JAVA] PAUSE AUDIO

import javax.sound.sampled.*;
import java.io.File;
import java.io.IOException;

public class AudioPlayer {

    private Clip clip;
    private long clipTime;

    public void loadAudio(String filePath) throws LineUnavailableException, IOException, UnsupportedAudioFileException {
        File audioFile = new File(filePath);
        AudioInputStream audioStream = AudioSystem.getAudioInputStream(audioFile);
        clip = AudioSystem.getClip();
        clip.open(audioStream);
    }

    public void play() {
        clip.start();
    }

    public void pause() {
        clipTime = clip.getMicrosecondPosition();
        clip.stop();
    }

    public void resume() {
        clip.setMicrosecondPosition(clipTime);
        clip.start();
    }

    public void stop() {
        clip.stop();
        clip.close();
    }

    public static void main(String[] args) {
        AudioPlayer player = new AudioPlayer();
        try {
            player.loadAudio("path/to/your/audio.wav"); // Replace with your audio file path
            player.play();

            // Simulate pausing after 2 seconds
            Thread.sleep(2000);
            player.pause();
            System.out.println("Audio paused");

            // Simulate resuming after 2 seconds
            Thread.sleep(2000);
            player.resume();
            System.out.println("Audio resumed");

            // Let the audio play for 5 seconds
            Thread.sleep(5000);
            player.stop();
            System.out.println("Audio stopped");

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

No comments: