bgm bener
This commit is contained in:
parent
6511e5d59a
commit
9b425899d9
@ -9,33 +9,48 @@ buttons.forEach(btn => {
|
|||||||
|
|
||||||
const lbMusicBtn = document.getElementById("lbMusicBtn");
|
const lbMusicBtn = document.getElementById("lbMusicBtn");
|
||||||
const lbAudio = document.getElementById("lbAudio");
|
const lbAudio = document.getElementById("lbAudio");
|
||||||
let isLbPlaying = true;
|
|
||||||
|
|
||||||
if (lbMusicBtn && lbAudio) {
|
if (lbMusicBtn && lbAudio) {
|
||||||
// --- TAMBAHAN: Coba play langsung saat load ---
|
|
||||||
lbAudio.play().then(() => {
|
|
||||||
// Jika browser mengizinkan, set icon jadi nyala
|
|
||||||
lbMusicBtn.innerHTML = "🔊";
|
|
||||||
isLbPlaying = true;
|
|
||||||
}).catch(error => {
|
|
||||||
// Jika browser memblokir (Autoplay Policy), set ke mute dulu
|
|
||||||
console.log("Autoplay dicegah browser, menunggu interaksi user.");
|
|
||||||
lbMusicBtn.innerHTML = "🔇";
|
|
||||||
isLbPlaying = false; // Ubah state jadi false biar klik berikutnya nge-play
|
|
||||||
});
|
|
||||||
// ----------------------------------------------
|
|
||||||
|
|
||||||
lbMusicBtn.addEventListener("click", () => {
|
// 1. Cek 'memori' browser (localStorage).
|
||||||
|
// Kalau belum pernah diset (null), anggap "on" (default).
|
||||||
|
const savedState = localStorage.getItem("musicState");
|
||||||
|
let isLbPlaying = savedState === null ? true : (savedState === "on");
|
||||||
|
|
||||||
|
// 2. Fungsi untuk Update Tampilan & Audio sesuai status
|
||||||
|
const updateMusicState = () => {
|
||||||
if (isLbPlaying) {
|
if (isLbPlaying) {
|
||||||
|
// Coba play
|
||||||
|
lbAudio.play().then(() => {
|
||||||
|
lbMusicBtn.innerHTML = "🔊";
|
||||||
|
}).catch(error => {
|
||||||
|
console.log("Autoplay dicegah browser, perlu interaksi.");
|
||||||
|
// Kalau diblokir browser, paksa status jadi off di tampilan
|
||||||
|
lbMusicBtn.innerHTML = "🔇";
|
||||||
|
isLbPlaying = false;
|
||||||
|
localStorage.setItem("musicState", "off");
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
// Pause
|
||||||
lbAudio.pause();
|
lbAudio.pause();
|
||||||
lbMusicBtn.innerHTML = "🔇";
|
lbMusicBtn.innerHTML = "🔇";
|
||||||
isLbPlaying = false;
|
|
||||||
} else {
|
|
||||||
lbAudio.play().catch(error => {
|
|
||||||
console.log("Gagal memutar audio:", error);
|
|
||||||
});
|
|
||||||
lbMusicBtn.innerHTML = "🔊";
|
|
||||||
isLbPlaying = true;
|
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// 3. Jalankan pengecekan awal saat halaman/filter dimuat
|
||||||
|
updateMusicState();
|
||||||
|
|
||||||
|
// 4. Event Listener Tombol
|
||||||
|
lbMusicBtn.addEventListener("click", () => {
|
||||||
|
if (isLbPlaying) {
|
||||||
|
// User mau mematikan
|
||||||
|
isLbPlaying = false;
|
||||||
|
localStorage.setItem("musicState", "off"); // Simpan ke memori "off"
|
||||||
|
} else {
|
||||||
|
// User mau menyalakan
|
||||||
|
isLbPlaying = true;
|
||||||
|
localStorage.setItem("musicState", "on"); // Simpan ke memori "on"
|
||||||
|
}
|
||||||
|
updateMusicState(); // Terapkan perubahan
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user