音樂播放器應用實例 – 前端開發

一、播放音樂

音樂播放器最基本的功能就是播放音樂。在網頁中,我們需要用到HTML5的音頻標籤<audio>,並結合JavaScript來控制音頻的播放、暫停、音量調節等。

<audio id="music" src="music.mp3"></audio>
<script>
  var music = document.getElementById("music");
  function play() {
    music.play();
  }
  function pause() {
    music.pause();
  }
  function setVolume(volume) {
    music.volume = volume/100;
  }
</script>

二、顯示歌曲信息

除了播放音樂外,我們還需要顯示歌曲的相關信息,例如歌曲名稱、歌手、專輯等。這些信息可以通過HTML標籤和JavaScript來實現。

<div id="song-info">
  <h2 id="song-name"></h2>
  <p id="singer"></p>
  <p id="album"></p>
</div>
<script>
  var songName = document.getElementById("song-name");
  var singer = document.getElementById("singer");
  var album = document.getElementById("album");
  function displaySongInfo(song) {
    songName.innerHTML = song.name;
    singer.innerHTML = "歌手:" + song.singer;
    album.innerHTML = "專輯:" + song.album;
  }
</script>

三、歌曲列表和切換歌曲

一個完整的音樂播放器還需要有歌曲列表和能夠切換歌曲的功能。我們可以在網頁上用<ul><li>標籤來展示歌曲列表,然後結合JavaScript來控制切換歌曲的邏輯。

<ul id="song-list">
  <li><a href="#" onclick="changeSong(0)">歌曲1</a></li>
  <li><a href="#" onclick="changeSong(1)">歌曲2</a></li>
  <li><a href="#" onclick="changeSong(2)">歌曲3</a></li>
</ul>
<script>
  var songList = [
    { name: "歌曲1", singer: "歌手1", album: "專輯1", url: "song1.mp3" },
    { name: "歌曲2", singer: "歌手2", album: "專輯2", url: "song2.mp3" },
    { name: "歌曲3", singer: "歌手3", album: "專輯3", url: "song3.mp3" }
  ];
  var currentSongIndex = 0;
  function changeSong(index) {
    currentSongIndex = index;
    var song = songList[index];
    music.src = song.url;
    displaySongInfo(song);
    play();
  }
  function playPreviousSong() {
    currentSongIndex = (currentSongIndex - 1 + songList.length) % songList.length;
    var song = songList[currentSongIndex];
    music.src = song.url;
    displaySongInfo(song);
    play();
  }
  function playNextSong() {
    currentSongIndex = (currentSongIndex + 1) % songList.length;
    var song = songList[currentSongIndex];
    music.src = song.url;
    displaySongInfo(song);
    play();
  }
</script>

四、進度條和時間顯示

為了更直觀的展示當前歌曲的播放進度,我們可以在網頁上添加進度條和音樂時間的顯示。通過JavaScript,我們可以獲取當前歌曲的播放進度和總時長,然後更新進度條和時間顯示。

<div id="progress-bar">
  <div id="progress-bar-bg"></div>
  <div id="progress-bar-fg"></div>
  <div id="current-time"></div>
  <div id="total-time"></div>
</div>
<script>
  var progressBarBg = document.getElementById("progress-bar-bg");
  var progressBarFg = document.getElementById("progress-bar-fg");
  var currentTime = document.getElementById("current-time");
  var totalTime = document.getElementById("total-time");
  function updateProgressBar() {
    var progress = (music.currentTime / music.duration) * 100;
    progressBarFg.style.width = progress + "%";
    currentTime.innerHTML = formatTime(music.currentTime);
    totalTime.innerHTML = formatTime(music.duration);
  }
  function formatTime(time) {
    var minutes = Math.floor(time / 60);
    var seconds = Math.floor(time % 60);
    return (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds < 10 ? "0" + seconds : seconds);
  }
  setInterval(updateProgressBar, 1000);
</script>

以上代碼就是一個簡單的音樂播放器應用實例,你可以根據需求和實際情況進行修改和完善。

原創文章,作者:WYHMW,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/317407.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
WYHMW的頭像WYHMW
上一篇 2025-01-11 16:27
下一篇 2025-01-11 16:27

相關推薦

  • SSVMW介紹及應用實例解析

    SSVMW是輕量級高性能的Web框架,能夠快速地提高Web應用程序的安全性、性能和可靠性。下面我們將從多個方面對SSVMW進行詳細的闡述,介紹如何使用它來構建Web應用程序。 一、…

    編程 2025-04-29
  • 為什麼大家都用網易雲音樂?

    大家都用網易雲音樂,這是因為它憑藉其強大而便捷的功能,以及巨大的歌曲資源庫,成為了廣大音樂愛好者的首選音樂平台。 一、功能強大而便捷 相較於其他的音樂平台,網易雲音樂提供了許多強大…

    編程 2025-04-28
  • Python動態輸入: 從基礎使用到應用實例

    Python是一種高級編程語言,因其簡單易學和可讀性而備受歡迎。Python允許程序員通過標準輸入或命令行獲得用戶輸入,這使得Python語言無法預測或控制輸入。在本文中,我們將詳…

    編程 2025-04-28
  • Python 自建AI模型應用實例

    本文將介紹如何使用Python自建AI模型,以及如何應用到實際場景中。包括構建深度神經網路、訓練模型、預測數據、可視化結果等方面。 一、深度神經網路構建 深度神經網路是AI模型的核…

    編程 2025-04-27
  • SRS播放器的全面解析

    一、簡介 SRS (Simple Rtmp Server) 架構簡單,性能強大,並提供安全、可靠的服務。它是一個局部RTMP處理器實現,採用全非同步事件驅動模型和協程多任務非同步編程風…

    編程 2025-04-23
  • 酷我音樂TV破解版:最全面的免費音樂服務

    一、酷我音樂TV破解版2022 酷我音樂TV破解版是一款方便快捷的音樂APP,在2022年,更加穩定的破解版本流行於各大應用市場。該版本可以為用戶提供無限制的音樂聽覺福利: 免費高…

    編程 2025-04-23
  • 探索FFplay.exe:從多方面深入了解這個全能音視頻播放器

    一、簡介 FFplay.exe是一個開源、免費、跨平台的音視頻播放器,它是FFmpeg多媒體框架的一部分,作為框架內建的播放器,它能夠以非常高效的方式播放各種格式的音視頻。由於它是…

    編程 2025-02-05
  • Vue OpenLayers應用實例

    一、簡介 Vue OpenLayers是將OpenLayers集成到Vue框架中的庫,提供了豐富的地圖操作和工具,使得開發者可以輕鬆地在項目中使用OpenLayers。 OpenL…

    編程 2025-02-01
  • QQ音樂:打造全方位音樂體驗

    一、界面設計 QQ音樂網站在界面設計上,採用了簡潔、大氣、時尚的風格,為用戶提供了良好的視覺體驗。 在整個網站的設計中,色彩搭配合理、布局合理,配合懸停、hover以及動畫等細節處…

    編程 2025-02-01
  • NuPlayer音視頻播放器的詳細介紹

    一、 NuPlayer簡介 NuPlayer是安卓系統自帶的音視頻播放器,其名稱源自於「New」(新)和「Universal」(通用)的縮寫。在安卓4.1(API level 16…

    編程 2025-01-27

發表回復

登錄後才能評論