Tools / UI Kit / Bootstrap / Audio Players

Audio Players

Simple, custom, playlist and podcast audio players.

Car Voice Player
Driver Assistant
Connected via Bluetooth
LIVE
"Navigating to the nearest charging station. Battery is at 18%. Turn right in 200 meters."
0:12 / 0:18
<div class="uk-car-voice">
    <div class="uk-car-voice-header">
        <div class="uk-car-voice-icon"><i class="fas fa-car-side"></i></div>
        <div class="uk-car-voice-info">
            <div class="uk-car-voice-title">Driver Assistant</div>
            <div class="uk-car-voice-status">Connected via Bluetooth</div>
        </div>
        <div class="uk-car-voice-live"><span></span> LIVE</div>
    </div>
    
    <div class="uk-car-voice-transcript">
        <i class="fas fa-quote-left"></i>
        "Navigating to the nearest charging station..."
    </div>

    <div class="uk-car-voice-controls">
        <button class="uk-car-voice-btn"><i class="fas fa-volume-down"></i></button>
        <button class="uk-car-voice-btn play"><i class="fas fa-pause"></i></button>
        <button class="uk-car-voice-btn"><i class="fas fa-volume-up"></i></button>
        <div class="uk-car-voice-progress"><div class="uk-car-voice-fill" style="width:65%;"></div></div>
        <span class="uk-car-voice-time">0:12 / 0:18</span>
    </div>
</div>

<style>
    .uk-car-voice {
        background: #0f172a;
        border-radius: 1.25rem;
        padding: 1.5rem;
        color: #fff;
        box-shadow: 0 20px 40px rgba(15, 23, 42, 0.2);
    }
    .uk-car-voice-header {
        display: flex;
        align-items: center;
        gap: 1rem;
        margin-bottom: 1.5rem;
    }
    .uk-car-voice-icon {
        width: 48px; height: 48px;
        border-radius: 1rem;
        background: rgba(255,255,255,0.1);
        display: flex; align-items: center; justify-content: center;
        font-size: 1.25rem;
        color: #60a5fa;
    }
    .uk-car-voice-info { flex: 1; }
    .uk-car-voice-title { font-weight: 700; font-size: 1rem; }
    .uk-car-voice-status { font-size: 0.75rem; color: #94a3b8; margin-top: 2px; }
    .uk-car-voice-live {
        font-size: 0.65rem;
        font-weight: 700;
        color: #ef4444;
        display: flex;
        align-items: center;
        gap: 4px;
        background: rgba(239, 68, 68, 0.1);
        padding: 4px 8px;
        border-radius: 999px;
    }
    .uk-car-voice-live span {
        width: 6px; height: 6px;
        background: #ef4444;
        border-radius: 50%;
        animation: pulse-red 1.5s infinite;
    }
    @keyframes pulse-red { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
    
    .uk-car-voice-transcript {
        background: rgba(255,255,255,0.05);
        border-left: 3px solid #60a5fa;
        padding: 1rem;
        border-radius: 0 0.5rem 0.5rem 0;
        font-size: 0.88rem;
        line-height: 1.6;
        color: #e2e8f0;
        margin-bottom: 1.5rem;
        font-style: italic;
    }
    .uk-car-voice-transcript i { color: #60a5fa; margin-right: 0.5rem; }
    
    .uk-car-voice-controls {
        display: flex;
        align-items: center;
        gap: 0.75rem;
    }
    .uk-car-voice-btn {
        background: transparent;
        border: 0;
        color: #94a3b8;
        cursor: pointer;
        font-size: 0.9rem;
    }
    .uk-car-voice-btn:hover { color: #fff; }
    .uk-car-voice-btn.play {
        width: 40px; height: 40px;
        border-radius: 50%;
        background: #60a5fa;
        color: #0f172a;
        display: flex; align-items: center; justify-content: center;
        font-size: 0.9rem;
    }
    .uk-car-voice-btn.play:hover { background: #93c5fd; }
    .uk-car-voice-progress {
        flex: 1;
        height: 4px;
        background: rgba(255,255,255,0.1);
        border-radius: 999px;
        overflow: hidden;
        margin: 0 0.5rem;
    }
    .uk-car-voice-fill {
        height: 100%;
        background: #60a5fa;
        border-radius: 999px;
    }
    .uk-car-voice-time {
        font-size: 0.7rem;
        color: #64748b;
        font-variant-numeric: tabular-nums;
    }
</style>
Custom Audio Player
Midnight City Lights
M83 · 4:03
0:00
4:03
<div class="uk-audio-custom">
    <div class="uk-audio-cover"><i class="fas fa-music"></i></div>
    <div class="uk-audio-main">
        <div class="uk-audio-info">
            <div class="uk-audio-title">Midnight City Lights</div>
            <div class="uk-audio-artist">M83 · 4:03</div>
        </div>
        <div class="uk-audio-progress">
            <span class="uk-audio-time">0:00</span>
            <div class="uk-audio-bar"><div class="uk-audio-fill" style="width:35%;"></div></div>
            <span class="uk-audio-time">4:03</span>
        </div>
    </div>
    <div class="uk-audio-actions">
        <button class="uk-audio-btn"><i class="fas fa-backward"></i></button>
        <button class="uk-audio-btn uk-audio-btn-play"><i class="fas fa-play"></i></button>
        <button class="uk-audio-btn"><i class="fas fa-forward"></i></button>
    </div>
</div>

<style>
    .uk-audio-custom {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: 1rem;
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 1rem;
    }
    .uk-audio-cover {
        width: 56px; height: 56px;
        border-radius: 0.65rem;
        background: linear-gradient(135deg, #eef2f8, #dbeafe);
        color: #1e3a8a;
        display: flex; align-items: center; justify-content: center;
        font-size: 1.25rem;
        flex-shrink: 0;
    }
    .uk-audio-main { flex: 1; min-width: 0; text-align: left; }
    .uk-audio-title {
        font-size: 0.88rem;
        font-weight: 700;
        color: #0b1b2f;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .uk-audio-artist {
        font-size: 0.75rem;
        color: #94a3b8;
        margin-top: 2px;
    }
    .uk-audio-progress {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin-top: 0.6rem;
    }
    .uk-audio-time {
        font-size: 0.68rem;
        color: #94a3b8;
        font-variant-numeric: tabular-nums;
        flex-shrink: 0;
    }
    .uk-audio-bar {
        flex: 1;
        height: 4px;
        background: #e2e8f0;
        border-radius: 999px;
        overflow: hidden;
    }
    .uk-audio-fill {
        height: 100%;
        background: #1e3a8a;
        border-radius: 999px;
    }
    .uk-audio-actions {
        display: flex;
        gap: 0.25rem;
        flex-shrink: 0;
    }
    .uk-audio-btn {
        width: 32px; height: 32px;
        border-radius: 50%;
        background: transparent;
        border: 0;
        color: #475569;
        cursor: pointer;
        font-size: 0.8rem;
        transition: all 0.15s;
    }
    .uk-audio-btn:hover { background: #f1f5f9; color: #1e3a8a; }
    .uk-audio-btn-play {
        background: #1e3a8a;
        color: #fff;
    }
    .uk-audio-btn-play:hover { background: #0f2a5c; color: #fff; }
</style>
Audio Playlist
Up Next
3 tracks
Midnight City Lights
M83
4:03
2
Sunset Boulevard
The Midnight
3:45
3
Neon Dreams
FM-84
5:12
<div class="uk-audio-playlist">
    <div class="uk-audio-playlist-head">
        <div class="uk-audio-playlist-title">Up Next</div>
        <span class="uk-audio-playlist-count">3 tracks</span>
    </div>
    <div class="uk-audio-track active">
        <div class="uk-audio-track-num"><i class="fas fa-volume-up"></i></div>
        <div class="uk-audio-track-info">
            <div class="uk-audio-track-title">Midnight City Lights</div>
            <div class="uk-audio-track-artist">M83</div>
        </div>
        <div class="uk-audio-track-time">4:03</div>
    </div>
</div>

<style>
    .uk-audio-playlist {
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 1rem;
        overflow: hidden;
    }
    .uk-audio-playlist-head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 1rem 1.15rem;
        border-bottom: 1px solid #f1f5f9;
    }
    .uk-audio-playlist-title {
        font-weight: 800;
        font-size: 0.9rem;
        color: #0b1b2f;
    }
    .uk-audio-playlist-count {
        font-size: 0.72rem;
        color: #94a3b8;
        background: #f1f5f9;
        padding: 2px 10px;
        border-radius: 999px;
    }
    .uk-audio-track {
        display: flex;
        align-items: center;
        gap: 0.85rem;
        padding: 0.75rem 1rem;
        cursor: pointer;
        transition: background 0.15s;
        border-bottom: 1px solid #f8fafc;
    }
    .uk-audio-track:last-child { border-bottom: 0; }
    .uk-audio-track:hover { background: #f8fafc; }
    .uk-audio-track.active { background: #eef2f8; }
    .uk-audio-track-num {
        width: 24px;
        text-align: center;
        font-size: 0.75rem;
        color: #94a3b8;
        font-weight: 700;
        flex-shrink: 0;
    }
    .uk-audio-track.active .uk-audio-track-num { color: #1e3a8a; }
    .uk-audio-track-info { flex: 1; min-width: 0; text-align: left; }
    .uk-audio-track-title {
        font-size: 0.85rem;
        font-weight: 600;
        color: #0b1b2f;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .uk-audio-track.active .uk-audio-track-title { color: #1e3a8a; }
    .uk-audio-track-artist {
        font-size: 0.72rem;
        color: #94a3b8;
    }
    .uk-audio-track-time {
        font-size: 0.75rem;
        color: #94a3b8;
        font-variant-numeric: tabular-nums;
        flex-shrink: 0;
    }
</style>
Podcast Player
Episode 42
Building products people love
Design Talks · 45 min
18:52 45:00
<div class="uk-podcast">
    <div class="uk-podcast-header">
        <div class="uk-podcast-cover"><i class="fas fa-microphone"></i></div>
        <div class="uk-podcast-info">
            <div class="uk-podcast-episode">Episode 42</div>
            <div class="uk-podcast-title">Building products people love</div>
            <div class="uk-podcast-meta">Design Talks · 45 min</div>
        </div>
    </div>
    <div class="uk-podcast-controls">
        <button class="uk-podcast-btn"><i class="fas fa-backward"></i></button>
        <button class="uk-podcast-btn uk-podcast-btn-play"><i class="fas fa-play"></i></button>
        <button class="uk-podcast-btn"><i class="fas fa-forward"></i></button>
        <div class="uk-podcast-progress">...</div>
        <button class="uk-podcast-btn uk-podcast-btn-speed">1.5×</button>
    </div>
</div>

<style>
    .uk-podcast {
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 1rem;
        padding: 1.25rem;
    }
    .uk-podcast-header {
        display: flex;
        gap: 1rem;
        align-items: center;
        margin-bottom: 1.25rem;
    }
    .uk-podcast-cover {
        width: 72px; height: 72px;
        border-radius: 0.85rem;
        background: linear-gradient(135deg, #1e3a8a, #6366f1);
        color: #fff;
        display: flex; align-items: center; justify-content: center;
        font-size: 1.5rem;
        flex-shrink: 0;
    }
    .uk-podcast-info { flex: 1; text-align: left; }
    .uk-podcast-episode {
        font-size: 0.7rem;
        font-weight: 700;
        color: #1e3a8a;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        margin-bottom: 4px;
    }
    .uk-podcast-title {
        font-size: 0.95rem;
        font-weight: 700;
        color: #0b1b2f;
        line-height: 1.35;
    }
    .uk-podcast-meta {
        font-size: 0.75rem;
        color: #94a3b8;
        margin-top: 4px;
    }
    .uk-podcast-controls {
        display: flex;
        align-items: center;
        gap: 0.65rem;
    }
    .uk-podcast-btn {
        width: 32px; height: 32px;
        border-radius: 50%;
        background: transparent;
        border: 0;
        color: #475569;
        cursor: pointer;
        font-size: 0.8rem;
        flex-shrink: 0;
    }
    .uk-podcast-btn:hover { background: #f1f5f9; color: #1e3a8a; }
    .uk-podcast-btn-play {
        width: 40px; height: 40px;
        background: #1e3a8a;
        color: #fff;
    }
    .uk-podcast-btn-play:hover { background: #0f2a5c; color: #fff; }
    .uk-podcast-progress { flex: 1; }
    .uk-podcast-bar {
        height: 4px;
        background: #e2e8f0;
        border-radius: 999px;
        overflow: hidden;
    }
    .uk-podcast-fill {
        height: 100%;
        background: #1e3a8a;
        border-radius: 999px;
    }
    .uk-podcast-times {
        display: flex;
        justify-content: space-between;
        font-size: 0.68rem;
        color: #94a3b8;
        font-variant-numeric: tabular-nums;
        margin-top: 4px;
    }
    .uk-podcast-btn-speed {
        width: auto;
        padding: 0 8px;
        height: 24px;
        border-radius: 6px;
        background: #f1f5f9;
        font-weight: 700;
        font-size: 0.7rem;
    }
</style>
Minimal Audio Bar
1:23 / 4:35
<div class="uk-audio-min">
    <button class="uk-audio-min-play"><i class="fas fa-play"></i></button>
    <div class="uk-audio-min-bar">
        <div class="uk-audio-min-fill" style="width:25%;"></div>
    </div>
    <span class="uk-audio-min-time">1:23 / 4:35</span>
    <button class="uk-audio-min-btn"><i class="fas fa-volume-up"></i></button>
</div>

<style>
    .uk-audio-min {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        padding: 0.6rem 1rem;
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 999px;
    }
    .uk-audio-min-play {
        width: 28px; height: 28px;
        border-radius: 50%;
        background: #1e3a8a;
        color: #fff;
        border: 0;
        cursor: pointer;
        font-size: 0.65rem;
        flex-shrink: 0;
        display: flex; align-items: center; justify-content: center;
    }
    .uk-audio-min-bar {
        flex: 1;
        height: 4px;
        background: #e2e8f0;
        border-radius: 999px;
        overflow: hidden;
    }
    .uk-audio-min-fill {
        height: 100%;
        background: #1e3a8a;
    }
    .uk-audio-min-time {
        font-size: 0.7rem;
        color: #64748b;
        font-variant-numeric: tabular-nums;
        flex-shrink: 0;
    }
    .uk-audio-min-btn {
        background: transparent;
        border: 0;
        color: #64748b;
        cursor: pointer;
        font-size: 0.8rem;
        padding: 4px;
        border-radius: 4px;
    }
    .uk-audio-min-btn:hover { color: #1e3a8a; }
</style>
Audio with Volume Control
Currently Playing
Sunset Boulevard — The Midnight
<div class="uk-audio-vol">
    <button class="uk-audio-vol-play"><i class="fas fa-pause"></i></button>
    <div class="uk-audio-vol-info">
        <div class="uk-audio-vol-title">Currently Playing</div>
        <div class="uk-audio-vol-track">Sunset Boulevard — The Midnight</div>
    </div>
    <div class="uk-audio-vol-controls">
        <i class="fas fa-volume-down"></i>
        <input type="range" class="uk-audio-vol-slider" min="0" max="100" value="65">
        <i class="fas fa-volume-up"></i>
    </div>
</div>

<style>
    .uk-audio-vol {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: 0.85rem 1rem;
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 0.85rem;
    }
    .uk-audio-vol-play {
        width: 36px; height: 36px;
        border-radius: 50%;
        background: #1e3a8a;
        color: #fff;
        border: 0;
        cursor: pointer;
        font-size: 0.75rem;
        flex-shrink: 0;
    }
    .uk-audio-vol-info { flex: 1; min-width: 0; text-align: left; }
    .uk-audio-vol-title {
        font-size: 0.7rem;
        font-weight: 700;
        color: #1e3a8a;
        text-transform: uppercase;
        letter-spacing: 0.06em;
    }
    .uk-audio-vol-track {
        font-size: 0.82rem;
        color: #0b1b2f;
        margin-top: 2px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .uk-audio-vol-controls {
        display: flex;
        align-items: center;
        gap: 0.4rem;
        flex-shrink: 0;
        color: #94a3b8;
        font-size: 0.75rem;
    }
    .uk-audio-vol-slider {
        width: 80px;
        height: 4px;
        -webkit-appearance: none;
        appearance: none;
        background: #e2e8f0;
        border-radius: 999px;
        outline: 0;
        cursor: pointer;
    }
    .uk-audio-vol-slider::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        width: 12px; height: 12px;
        border-radius: 50%;
        background: #1e3a8a;
        cursor: pointer;
    }
</style>