// 音乐播放器功能 class MusicPlayer { constructor() { this.currentSongIndex = 0; this.songs = []; this.isPlaying = false; this.audio = new Audio(); this.init(); } init() { this.bindEvents(); this.bindAudioEvents(); this.loadSongs(); } bindAudioEvents() { this.audio.addEventListener('loadeddata', () => { if (this.isPlaying) { this.audio.play(); } }); } bindEvents() { document.getElementById('playPauseBtn').addEventListener('click', () => this.togglePlayPause()); document.getElementById('prevBtn').addEventListener('click', () => this.playPrevious()); document.getElementById('nextBtn').addEventListener('click', () => this.playNext()); } async loadSongs() { try { // 使用新的音乐API const response = await fetch('https://www.cunyuapi.top/rwyymusic'); const data = await response.json(); this.songs = [data]; this.loadSong(0); } catch (error) { console.error('加载歌曲失败:', error); document.getElementById('musicTitle').textContent = '加载失败'; } } async loadSong(index) { this.currentSongIndex = index; const song = this.songs[index]; document.getElementById('musicTitle').textContent = song.name; document.getElementById('musicArtist').textContent = song.artists; // 设置音频源 this.audio.src = song.song_url; } togglePlayPause() { if (this.isPlaying) { this.audio.pause(); document.getElementById('playPauseBtn').innerHTML = '播放'; } else { this.audio.play(); document.getElementById('playPauseBtn').innerHTML = '暂停'; } this.isPlaying = !this.isPlaying; } playPrevious() { if (this.currentSongIndex > 0) { this.loadSong(this.currentSongIndex - 1); this.isPlaying = true; document.getElementById('playPauseBtn').innerHTML = '暂停'; } } playNext() { if (this.currentSongIndex < this.songs.length - 1) { this.loadSong(this.currentSongIndex + 1); this.isPlaying = true; document.getElementById('playPauseBtn').innerHTML = '暂停'; } else { this.loadSongs(); this.isPlaying = true; document.getElementById('playPauseBtn').innerHTML = '暂停'; } } } // 页面加载完成后初始化音乐播放器 window.addEventListener('DOMContentLoaded', () =>{ new MusicPlayer(); });