ADD file via upload

main
ppx98yace 4 months ago
parent 1f2a49e92d
commit 9f07a12925

@ -0,0 +1,44 @@
package com.snakegame;
import javax.sound.sampled.*;
import java.io.File;
import java.io.IOException;
public class SoundManager {
private Clip backgroundMusicClip;
private boolean musicEnabled = true; // 控制音乐是否启用
public SoundManager() {
// 初始化时不自动播放音乐
}
public void playBackgroundMusic(String filePath) {
if (!musicEnabled) return; // 如果音乐被禁用,则不播放
stopBackgroundMusic(); // 停止当前播放的音乐
try {
File backgroundMusicFile = new File(filePath);
AudioInputStream backgroundMusicStream = AudioSystem.getAudioInputStream(backgroundMusicFile);
backgroundMusicClip = AudioSystem.getClip();
backgroundMusicClip.open(backgroundMusicStream);
backgroundMusicClip.loop(Clip.LOOP_CONTINUOUSLY);
} catch (UnsupportedAudioFileException | IOException | LineUnavailableException e) {
e.printStackTrace();
}
}
public void stopBackgroundMusic() {
if (backgroundMusicClip != null && backgroundMusicClip.isRunning()) {
backgroundMusicClip.stop();
}
}
public void toggleMusic() {
musicEnabled = !musicEnabled;
if (musicEnabled && backgroundMusicClip != null) {
playBackgroundMusic("resources/background1.wav"); // 重新播放音乐
} else {
stopBackgroundMusic();
}
}
}
Loading…
Cancel
Save