0:00 /0:00
暧昧合伙人
遗憾
const secs = Math.floor(seconds % 60); return `${mins}:${secs.toString().padStart(2, '0')}`; } // 更新进度条 function updateProgress() { const progress = (audio.currentTime / audio.duration) * 100; progressBar.style.width = progress + '%'; currentTimeEl.textContent = formatTime(audio.currentTime); } // 设置总时间 audio.addEventListener('loadedmetadata', function() { totalTimeEl.textContent = '/' + formatTime(audio.duration); }); // 播放/暂停 playPauseBtn.addEventListener('click', function() { if (audio.paused) { audio.play(); playPauseBtn.textContent = '❚❚'; } else { audio.pause(); playPauseBtn.textContent = '▶'; } }); // 静音 muteBtn.addEventListener('click', function() { audio.muted = !audio.muted; muteBtn.textContent = audio.muted ? '??' : '🔊'; }); // 音量控制 volumeSlider.addEventListener('input', function() { audio.volume = this.value; }); // 进度条控制 progressContainer.addEventListener('click', function(e) { const progressWidth = this.clientWidth; const clickX = e.offsetX; const duration = audio.duration; audio.currentTime = (clickX / progressWidth) * duration; }); // 播放列表切换 playlistToggle.addEventListener('click', function() { playlist.style.display = playlist.style.display === 'block' ? 'none' : 'block'; }); // 播放列表项点击 playlistItems.forEach(item => { item.addEventListener('click', function() { const src = this.getAttribute('data-src'); audio.src = src; audio.play(); playPauseBtn.textContent = '❚❚'; // 高亮当前播放项 playlistItems.forEach(i => i.classList.remove('playing')); this.classList.add('playing'); }); }); // 更新进度 audio.addEventListener('timeupdate', updateProgress); });