Teknologi
โ€ข 3 min baca โ€ข 9 x dilihat

Tutorial Membuat Audio Volume Slider Interaktif dengan HTML, CSS, dan JavaScript

m

Ditulis oleh

mrjj

Dalam pengembangan antarmuka pengguna (UI) web, kontrol audio menjadi elemen penting, khususnya untuk aplikasi seperti pemutar musik, podcast, atau media edukatif. Salah satu kontrol yang paling umum adalah volume slider.

Dalam tutorial ini, kamu akan belajar cara membuat Audio Volume Slider interaktif dan modern dengan menggunakan HTML, CSS, dan JavaScript, lengkap dengan desain responsif dan fitur real-time volume control.

๐ŸŽฏ Fitur yang Akan Dibuat

  • Slider volume interaktif
  • Desain gelap (dark mode) modern
  • Nilai volume tampil secara real-time (dalam persentase)
  • Audio player bawaan HTML
  • Desain responsif untuk mobile & desktop

๐Ÿ“ Struktur File

Buat folder dengan struktur berikut:

Code Snippet
/audio-slider/
โ”œโ”€โ”€ index.html
โ”œโ”€โ”€ style.css
โ””โ”€โ”€ script.js

๐Ÿงฉ Langkah 1: HTML (index.html)

Buat file index.html untuk membuat struktur halaman dan komponen-komponen penting:

Code Snippet
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <title>Audio Volume Slider</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <div class="volume-container">
    <h2>๐ŸŽง Audio Volume Slider</h2>
    <div class="volume-label" id="volumeValue">Volume: 50%</div>
    <input type="range" id="volumeSlider" min="0" max="100" value="50">
    <div class="audio-box">
      <audio id="demoAudio" controls>
        <source src="https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3" type="audio/mpeg">
        Your browser does not support the audio element.
      </audio>
    </div>
  </div>

  <script src="script.js"></script>
</body>
</html>

๐ŸŽจ Langkah 2: CSS (style.css)

Buat tampilan modern dan responsif dengan file CSS berikut:

Code Snippet
body {
  margin: 0;
  padding: 0;
  font-family: 'Segoe UI', sans-serif;
  background: #111;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  flex-direction: column;
}

.volume-container {
  background: #222;
  padding: 30px 20px;
  border-radius: 20px;
  box-shadow: 0 0 30px rgba(0,0,0,0.5);
  text-align: center;
}

h2 {
  margin-bottom: 20px;
  font-size: 1.5em;
}

.volume-label {
  font-size: 2em;
  margin-bottom: 20px;
  color: #00ffc3;
  transition: 0.3s;
}

input[type=range] {
  -webkit-appearance: none;
  width: 250px;
  height: 10px;
  background: linear-gradient(to right, #00ffc3, #7e00ff);
  border-radius: 10px;
  outline: none;
}

input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 24px;
  height: 24px;
  background: white;
  border-radius: 50%;
  box-shadow: 0 0 10px #00ffc3;
  cursor: pointer;
}

.audio-box {
  margin-top: 25px;
}

๐Ÿง  Langkah 3: JavaScript (script.js)

Tambahkan logika agar volume slider dapat mengontrol audio secara real-time.

Code Snippet
const volumeSlider = document.getElementById('volumeSlider');
const volumeValue = document.getElementById('volumeValue');
const audio = document.getElementById('demoAudio');

volumeSlider.addEventListener('input', function () {
  const vol = this.value;
  volumeValue.textContent = `Volume: ${vol}%`;
  audio.volume = vol / 100;
});

๐Ÿงช Hasil Akhir

Setelah mengikuti langkah-langkah di atas, kamu akan mendapatkan slider volume yang:

  • Menampilkan volume dalam persentase
  • Mengontrol volume audio secara langsung
  • Berfungsi dengan baik di semua perangkat, termasuk mobile
Audio Volume Slider Menggunakan HTML CSS dan js


๐Ÿ’ก Tips Tambahan

  • Ubah warna gradasi slider agar sesuai dengan tema websitemu.
  • Tambahkan efek icon suara yang berubah berdasarkan level volume.
  • Tambahkan fitur mute/unmute menggunakan tombol toggle.

Dengan HTML, CSS, dan JavaScript sederhana, kamu bisa membuat komponen UI audio yang interaktif dan profesional. Audio volume slider ini bisa kamu gunakan di aplikasi musik, podcast, atau bahkan web edukasi.

Bagikan artikel ini:
← Artikel Sebelumnya
Artikel Selanjutnya →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *