Musik hinzugefügt
This commit is contained in:
parent
47c1fe4619
commit
7a4a9b02b4
BIN
public/music/delosound-medieval-background-351307.mp3
Normal file
BIN
public/music/delosound-medieval-background-351307.mp3
Normal file
Binary file not shown.
BIN
public/music/dueg-oth-musik-adel-142724.mp3
Normal file
BIN
public/music/dueg-oth-musik-adel-142724.mp3
Normal file
Binary file not shown.
BIN
public/music/dueg-oth-musik-hintergrund-142725.mp3
Normal file
BIN
public/music/dueg-oth-musik-hintergrund-142725.mp3
Normal file
Binary file not shown.
BIN
public/music/emmraan-fantasy-kingdom-261257.mp3
Normal file
BIN
public/music/emmraan-fantasy-kingdom-261257.mp3
Normal file
Binary file not shown.
BIN
public/music/jean-paul-v-dancing-in-the-medieval-time-329033.mp3
Normal file
BIN
public/music/jean-paul-v-dancing-in-the-medieval-time-329033.mp3
Normal file
Binary file not shown.
BIN
public/music/jean-paul-v-danse-des-princesses-307890.mp3
Normal file
BIN
public/music/jean-paul-v-danse-des-princesses-307890.mp3
Normal file
Binary file not shown.
Binary file not shown.
@ -35,6 +35,57 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
width: 400px;
|
width: 400px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ── Music Control ── */
|
||||||
|
#music-control {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 16px;
|
||||||
|
right: 16px;
|
||||||
|
z-index: 9999;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
background: rgba(10, 5, 0, 0.85);
|
||||||
|
border: 1px solid #c8960c;
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 6px 10px;
|
||||||
|
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.6);
|
||||||
|
}
|
||||||
|
|
||||||
|
#music-mute-btn {
|
||||||
|
background: none;
|
||||||
|
border: none;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 1;
|
||||||
|
padding: 0;
|
||||||
|
color: #f0d080;
|
||||||
|
transition: transform 0.15s;
|
||||||
|
}
|
||||||
|
|
||||||
|
#music-mute-btn:hover {
|
||||||
|
transform: scale(1.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
#music-volume {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
appearance: none;
|
||||||
|
width: 80px;
|
||||||
|
height: 4px;
|
||||||
|
background: #3a2000;
|
||||||
|
border-radius: 2px;
|
||||||
|
outline: none;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
#music-volume::-webkit-slider-thumb {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: #c8960c;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
@ -413,6 +464,83 @@
|
|||||||
<button class="notification-btn" id="notification-ok">OK</button>
|
<button class="notification-btn" id="notification-ok">OK</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- Music -->
|
||||||
|
<div id="music-control">
|
||||||
|
<button id="music-mute-btn" title="Musik ein/ausschalten">🔊</button>
|
||||||
|
<input
|
||||||
|
type="range"
|
||||||
|
id="music-volume"
|
||||||
|
min="0"
|
||||||
|
max="1"
|
||||||
|
step="0.01"
|
||||||
|
value="0.4"
|
||||||
|
title="Lautstärke"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<audio id="bg-music" loop preload="auto"></audio>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
(function () {
|
||||||
|
const playlist = [
|
||||||
|
"/music/delosound-medieval-background-351307.mp3", // ← vollständigen Namen ergänzen
|
||||||
|
"/music/dueg-oth-musik-adel-142724.mp3", // ← vollständigen Namen ergänzen
|
||||||
|
"/music/dueg-oth-musik-hintergrund-142725.mp3", // ← vollständigen Namen ergänzen
|
||||||
|
"/music/eemmraan-fantasy-kingdom-261257.mp3", // ← vollständigen Namen ergänzen
|
||||||
|
"/music/jean-paul-v-dancing-in-the-medieval-time-329033.mp3", // ← vollständigen Namen ergänzen
|
||||||
|
"/music/jean-paul-v-danse-des-princesses-307890.mp3", // ← vollständigen Namen ergänzen
|
||||||
|
"/music/kaazoom-medieval-dance-2-min-edit-medieval-music-404925.mp3", // ← vollständigen Namen ergänzen
|
||||||
|
];
|
||||||
|
|
||||||
|
const audio = document.getElementById("bg-music");
|
||||||
|
const muteBtn = document.getElementById("music-mute-btn");
|
||||||
|
const vol = document.getElementById("music-volume");
|
||||||
|
|
||||||
|
let muted = localStorage.getItem("dok_muted") === "true";
|
||||||
|
if (localStorage.getItem("dok_vol") !== null)
|
||||||
|
vol.value = localStorage.getItem("dok_vol");
|
||||||
|
|
||||||
|
audio.volume = parseFloat(vol.value);
|
||||||
|
|
||||||
|
// Zufälliges Lied wählen
|
||||||
|
audio.src = playlist[Math.floor(Math.random() * playlist.length)];
|
||||||
|
audio.addEventListener("ended", () => {
|
||||||
|
audio.src = playlist[Math.floor(Math.random() * playlist.length)];
|
||||||
|
if (!muted) audio.play().catch(() => {});
|
||||||
|
});
|
||||||
|
|
||||||
|
function applyMute() {
|
||||||
|
audio.muted = muted;
|
||||||
|
muteBtn.textContent = muted ? "🔇" : "🔊";
|
||||||
|
if (!muted && audio.paused) audio.play().catch(() => {});
|
||||||
|
localStorage.setItem("dok_muted", muted);
|
||||||
|
}
|
||||||
|
|
||||||
|
muteBtn.addEventListener("click", () => {
|
||||||
|
muted = !muted;
|
||||||
|
applyMute();
|
||||||
|
});
|
||||||
|
|
||||||
|
vol.addEventListener("input", () => {
|
||||||
|
audio.volume = parseFloat(vol.value);
|
||||||
|
localStorage.setItem("dok_vol", vol.value);
|
||||||
|
if (parseFloat(vol.value) > 0 && muted) {
|
||||||
|
muted = false;
|
||||||
|
applyMute();
|
||||||
|
}
|
||||||
|
muteBtn.textContent = parseFloat(vol.value) === 0 ? "🔇" : "🔊";
|
||||||
|
});
|
||||||
|
|
||||||
|
applyMute();
|
||||||
|
document.addEventListener(
|
||||||
|
"click",
|
||||||
|
() => {
|
||||||
|
if (!muted) audio.play().catch(() => {});
|
||||||
|
},
|
||||||
|
{ once: true },
|
||||||
|
);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
|
||||||
<script type="module" src="/js/map-ui.js"></script>
|
<script type="module" src="/js/map-ui.js"></script>
|
||||||
<script src="/socket.io/socket.io.js"></script>
|
<script src="/socket.io/socket.io.js"></script>
|
||||||
<script>
|
<script>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user