Home
Random
Log in
Settings
About the Deadlock Wiki
Search
Editing
User
:
Toad64/Sandbox
Give feedback
Warning:
You are not logged in. Once you make an edit, a temporary account will be created for you.
Learn more
.
Log in
or
create an account
to continue receiving notifications after this account expires, and to access other features.
Anti-spam check. Do
not
fill this in!
Using Javascript, It is possible to modify the default audio element used to play audio. This code replaces the standard webkit media player with a stylized version. (Currently for chromium browsers only) <syntaxhighlight lang="javascript"> // gemini code // In your Common.js $(document).ready(function() { $('audio').each(function() { const $this = $(this); const src = $this.attr('src'); // Log what we found to the console so we can see why it's undefined console.log("Processing element:", this); console.log("Source found:", src); if (src) { const myPlayer = document.createElement('audio-player'); myPlayer.setAttribute('track', src); $this.replaceWith(myPlayer); } else { console.warn("Skipping element because src is undefined:", this); } }); }); // audioplayer.js (pulled and modified from website) if (!customElements.get('audio-player')) { class AudioPlayer extends HTMLElement { connectedCallback() { const src = this.getAttribute("track") || ""; const ext = src.split(".").pop().toLowerCase(); const mime = ext === "wav" ? "audio/wav" : "audio/mpeg"; this.innerHTML = ` <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> <style> .player-controls { display: flex; align-items: center; gap: 12px; width: 100%; max-width: 400px; padding: 10px 15px; border-radius: 50px; background: var(--background-color-base-subtle); color: var(--color-base); font-family: sans-serif; box-sizing: border-box; overflow: hidden; } .playBtn { flex-shrink: 0; width: 30px; height: 30px; border: none; border-radius: 50%; align-items: center; justify-content: center; background: var(--background-color-interactive); color: var(--color-base); cursor: pointer; } .playBtn:hover { background: var(--background-color-interactive-subtle); } .seek { flex: 1; -webkit-appearance: none; appearance: none; height: 6px; border-radius: 5px; background: var(--color-base); cursor: pointer; } .seek::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 15px; height: 15px; border-radius: 50px; background: var(--link-color); cursor: pointer; } .seek::-moz-range-thumb { -webkit-appearance: none; appearance: none; width: 15px; height: 15px; border-radius: 50px; background: var(--link-color); cursor: pointer; } .time { font-size: 12px; opacity: 0.8; white-space: nowrap; } </style> <div class="player-controls"> <audio class="audio"><source src="${src}" type="${mime}"></audio> <button class="playBtn"><i class="fa-solid fa-play"></i></button> <input class="seek" type="range" value="0" min="0" max="100"> <span class="time">0:00 / 0:00</span> </div> `; const audio = this.querySelector(".audio"); const playBtn = this.querySelector(".playBtn"); const seek = this.querySelector(".seek"); const time = this.querySelector(".time"); playBtn.addEventListener("click", () => { if (audio.paused) { audio.play(); playBtn.innerHTML = '<i class="fa-solid fa-pause"></i>'; } else { audio.pause(); playBtn.innerHTML = '<i class="fa-solid fa-play"></i>'; } }); audio.addEventListener("timeupdate", () => { seek.value = (audio.currentTime / audio.duration) * 100 || 0; time.textContent = formatTime(audio.currentTime) + " / " + formatTime(audio.duration); }); seek.addEventListener("input", () => { audio.currentTime = (seek.value / 100) * audio.duration; }); function formatTime(sec) { if (isNaN(sec)) return "0:00"; const m = Math.floor(sec / 60); const s = Math.floor(sec % 60).toString().padStart(2, "0"); return `${m}:${s}`; } } } customElements.define("audio-player", AudioPlayer); } </syntaxhighlight> In this example, the Old Deadlock Title Screen: [[File:Music menu lp.mp3]]
Summary:
Please note that all contributions to The Deadlock Wiki are considered to be released under the Creative Commons Attribution-NonCommercial-ShareAlike (see
Deadlock:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)