Привет Кодер! Добро пожаловать в блог Codewithrandom. В этой статье мы создадим музыкальный проигрыватель с помощью HTML, CSS и JavaScript. Мы создаем полнофункциональную систему Музыкальный проигрыватель с кнопками для воспроизведения, паузы, перехода вперед и назад с использованием кода JavaScript.

Мы узнаем, как сделать музыкальный проигрыватель Advance, который показывает названия музыки и вращающиеся миниатюры песни в музыкальном проигрывателе, а также многие другие функции, поэтому давайте начнем создавать.

Музыкальный проигрыватель — это инструмент, который используется для воспроизведения музыки в таких форматах, как MP3, WAV и т. д. При прослушивании песен музыкальный проигрыватель полезен. Мы регулярно слушаем музыку на музыкальном плеере. Spotify, Google Music и другие популярные сервисы потоковой передачи музыки — вот некоторые примеры музыкальных проигрывателей.

Мы все знаем, что управление кодом важно при создании проекта, чтобы пользователю было легко использовать этот код и в будущем. Таким образом, мы будем следовать тому же методу, которым мы будем создавать различные файлы для создания нашего проекта.

  1. index.html – определяет структуру элементов, которая будет отображаться на странице с помощью макета HTML.
  2. style.css – включает стилизацию кода CSS. Мы можем стилизовать различные части с помощью CSS, чтобы улучшить визуальную привлекательность.
  3. Index.js – включает программирование на JavaScript. Чтобы игрок мог выполнять все свои функции, ряд функций должен взаимодействовать. Например, возможность воспроизведения, паузы, переключения между песнями, отображения названия песни и индикатора выполнения во время ее воспроизведения, а также предоставление пользователю возможности щелкнуть индикатор выполнения, чтобы перейти к определенному месту в песне, — все это примеры функции.

Шаг 1: HTML-код музыкального проигрывателя: -

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="style.css" />
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css"
/>
<title>Music Player</title>
</head>
<body>
<h1>Music Player</h1>
<div class="music-container" id="music-container">
<div class="music-info">
<h4 class="title" id="title"></h4>
<div class="progress-container" id="progress-container">
<div class="progress" id="progress"></div>
</div>
</div>
<audio src="./music/happyrock.mp3" id="audio"></audio>
<div class="img-container">
<img src="./images/happyrock.jpg" alt="music-cover" id="cover" />
</div>
<div class="navigation">
<button id="prev" class="action-btn">
<i class="fa fa-backward" aria-hidden="true"></i>
</button>
<button id="play" class="action-btn action-btn-big">
<i class="fa fa-play" aria-hidden="true"></i>
</button>
<button id="next" class="action-btn">
<i class="fa fa-forward" aria-hidden="true"></i>
</button>
</div>
</div>
<script src="script.js"></script>
</body>
</html>

Во-первых, давайте создадим файл index.html. Мы включим туда CSS для нашего Style.css. Мы будем использовать некоторые значки в этом проекте, поэтому мы добавим ссылку на потрясающий шрифт в наш раздел Head, чтобы включить эти значки в наш проект.

Теперь мы интегрируем функцию Javascript в наш проект, добавив ссылку на наш Javascript. Поскольку мы хотим, чтобы браузер отображал наш javascript в конце, и поскольку мы хотим, чтобы наша функция запускалась только после тела нашего проекта, мы включим ссылку внутри нашего тела.

//Head Section
<link rel="stylesheet" href="style.css" /> 
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" />
//Body Section
<script src="app.js"></script>

Добавление структуры HTML-кода музыкального проигрывателя:

  • Прежде всего, используя селектор тегов ‹h1›, мы дадим заголовок нашему музыкальному проигрывателю.
  • Теперь внутри контейнера, который мы только что создали для музыки, мы создадим еще один div для информации о музыке. Наконец, мы добавим название музыки, используя тег ‹h4›. Все это будет сделано с помощью тега
    ‹div›.
  • Кнопки «Далее», «Предыдущий» и «Воспроизведение/Пауза» теперь будут включены в виде значков в раздел навигации по музыке.

Есть весь HTML-код музыкального проигрывателя. Теперь вы можете увидеть вывод без CSS, затем мы напишем CSS для нашего музыкального проигрывателя.

Вывод только HTML-кода:-

Шаг 2 — Код музыкального проигрывателя CSS: —

@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap");
* {
outline: none;
box-sizing: border-box;
}
body {
background-image: linear-gradient(
0deg,
rgba(247, 247, 247, 1) 23.8%,
rgba(252, 221, 221, 1) 92%
);
font-family: "Open Sans", sans-serif;
margin: 0;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
}
.music-container {
background-color: #fff;
border-radius: 15px;
box-shadow: 0 20px 20px 0 rgba(252, 169, 169, 0.6);
display: flex;
padding: 20px 30px;
position: relative;
margin: 100px 0;
z-index: 10;
}
.img-container {
position: relative;
width: 110px;
}
.img-container::after {
content: "";
background-color: #fff;
border-radius: 50%;
position: absolute;
bottom: 100%;
left: 50%;
width: 20px;
height: 20px;
transform: translate(-50%, 50%);
box-shadow: 0 0 0px 10px #000;
}
.img-container img {
border-radius: 50%;
object-fit: cover;
height: 110px;
width: inherit;
position: absolute;
bottom: 0;
left: 0;
animation: rotate 3s linear infinite;
animation-play-state: paused;
}
.music-container.play .img-container img {
animation-play-state: running;
}
@keyframes rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.navigation {
display: flex;
align-items: center;
justify-content: center;
z-index: 1;
}
.action-btn {
background-color: #fff;
border: 0;
color: #dfdbdf;
font-size: 20px;
cursor: pointer;
padding: 10px;
margin: 0 20px;
}
.action-btn.action-btn-big {
color: #cdc2d0;
font-size: 30px;
}
.music-info {
background-color: rgba(255, 255, 255, 0.5);
width: calc(100% - 40px);
padding: 10px 10px 10px 150px;
border-radius: 15px 15px 0px 0px;
position: absolute;
top: 0;
left: 20px;
opacity: 0;
transform: translateY(0%);
transition: transform 0.3s ease-in, opacity 0.3s ease-in;
z-index: 0;
}
.music-container.play .music-info {
opacity: 1;
transform: translateY(-100%);
}
.music-info h4 {
margin: 0;
}
.progress-container {
background-color: #fff;
border: 5px;
cursor: pointer;
margin: 10px 0;
height: 4px;
width: 100%;
}
.progress {
background-color: #fe8daa;
border-radius: 5px;
height: 100%;
width: 0%;
transform: width 0.1s linear;
}

Шаг 1.Мы добавим несколько новых шрифтов Google в наш музыкальный проигрыватель, используя ссылку для импорта Google, и воспользуемся универсальным выбором (*), чтобы задать для контура значение «нет», а для размера окна — значение «нет». «пограничная коробка».

Мы применим фон с линейным градиентом к основной части веб-страницы с помощью селектора тега body. Мы также будем использовать свойство font-family, чтобы установить семейство шрифтов как «open-sans», и свойство text-align для выравнивания текста по центру.

@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap");
* {
outline: none;
box-sizing: border-box;
}
body {
background-image: linear-gradient(
0deg,
rgba(247, 247, 247, 1) 23.8%,
rgba(252, 221, 221, 1) 92%
);
font-family: "Open Sans", sans-serif;
margin: 0;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
}

Шаг 2. Теперь мы стилизуем музыкальный контейнер с помощью селектора классов. Мы сделаем фон белым, а нашему звуковому контейнеру придадим тень, используя свойство box shadow. Мы также дали нашему музыкальному контейнеру отступ в 100 пикселей.

Используя ключевые кадры, мы добавим эффект анимации в наш музыкальный проигрыватель, мы добавим эффект вращения на музыкальный диск, а также добавим различные ключевые кадры, чтобы придать нашему музыкальному проигрывателю вращающийся вид.

.img-container img {
border-radius: 50%;
object-fit: cover;
height: 110px;
width: inherit;
position: absolute;
bottom: 0;
left: 0;
animation: rotate 3s linear infinite;
animation-play-state: paused;
}
.music-container.play .img-container img {
animation-play-state: running;
}
@keyframes rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.navigation {
display: flex;
align-items: center;
justify-content: center;
z-index: 1;
}
.action-btn {
background-color: #fff;
border: 0;
color: #dfdbdf;
font-size: 20px;
cursor: pointer;
padding: 10px;
margin: 0 20px;
}
.action-btn.action-btn-big {
color: #cdc2d0;
font-size: 30px;
}
.music-info {
background-color: rgba(255, 255, 255, 0.5);
width: calc(100% - 40px);
padding: 10px 10px 10px 150px;
border-radius: 15px 15px 0px 0px;
position: absolute;
top: 0;
left: 20px;
opacity: 0;
transform: translateY(0%);
transition: transform 0.3s ease-in, opacity 0.3s ease-in;
z-index: 0;
}
.music-container.play .music-info {
opacity: 1;
transform: translateY(-100%);
}
.music-info h4 {
margin: 0;
}

Шаг 3.Полоса выполнения теперь будет иметь стиль, добавленный с помощью селектора класса (.progress-container). Мы выберем белый цвет фона и зададим нашему индикатору прогресса границу в 5 пикселей.

.progress-container {
background-color: #fff;
border: 5px;
cursor: pointer;
margin: 10px 0;
height: 4px;
width: 100%;
}
.progress {
background-color: #fe8daa;
border-radius: 5px;
height: 100%;
width: 0%;
transform: width 0.1s linear;
}

Есть весь код CSS для музыкального проигрывателя. Теперь вы можете увидеть вывод с помощью HTML CSS для музыкального проигрывателя, затем мы напишем код Javascript для нашего музыкального проигрывателя. Вот наш обновленный выходной CSS.

Вывод HTML + Css музыкального проигрывателя

Шаг 3: Код музыкального проигрывателя JavaScript: -

const musicContainer = document.getElementById("music-container");
const playBtn = document.getElementById("play");
const prevBtn = document.getElementById("prev");
const nextBtn = document.getElementById("next");
const audio = document.getElementById("audio");
const progress = document.getElementById("progress");
const progressContainer = document.getElementById("progress-container");
const title = document.getElementById("title");
const cover = document.getElementById("cover");
// Songs Titles
const songs = ["happyrock", "jazzyfrenchy", "ukulele"];
// KeepTrack of song
let songIndex = 0;
// Initially load song details into DOM
loadSong(songs[songIndex]);
// Update song details
function loadSong(song) {
title.innerText = song;
audio.src = `./music/${song}.mp3`;
cover.src = `./images/${song}.jpg`;
}
// Play Song
function playSong() {
musicContainer.classList.add("play");
playBtn.querySelector("i.fa").classList.remove("fa-play");
playBtn.querySelector("i.fa").classList.add("fa-pause");
audio.play();
}
// Pause Song
function pauseSong() {
musicContainer.classList.remove("play");
playBtn.querySelector("i.fa").classList.add("fa-play");
playBtn.querySelector("i.fa").classList.remove("fa-pause");
audio.pause();
}
// Previous Song
function prevSong() {
songIndex--;
if (songIndex < 0) {
songIndex = songs.length - 1;
}
loadSong(songs[songIndex]);
playSong();
}
// Next Song
function nextSong() {
songIndex++;
if (songIndex > songs.length - 1) {
songIndex = 0;
}
loadSong(songs[songIndex]);
playSong();
}
// Update Progress bar
function updateProgress(e) {
const { duration, currentTime } = e.srcElement;
const progressPerCent = (currentTime / duration) * 100;
progress.style.width = `${progressPerCent}%`;
}
// Set Progress
function setProgress(e) {
const width = this.clientWidth;
const clickX = e.offsetX;
const duration = audio.duration;
audio.currentTime = (clickX / width) * duration;
}
// Event Listeners
playBtn.addEventListener("click", () => {
const isPlaying = musicContainer.classList.contains("play");
if (isPlaying) {
pauseSong();
} else {
playSong();
}
});
// Change Song
prevBtn.addEventListener("click", prevSong);
nextBtn.addEventListener("click", nextSong);
// Time/Song Update
audio.addEventListener("timeupdate", updateProgress);
// Click On progress Bar
progressContainer.addEventListener("click", setProgress);
// Song End
audio.addEventListener("ended", nextSong);

Для управления всеми функциями проигрывателя взаимодействует ряд функций. Доступ к компонентам HTML и определение всех переменных.
Требуемые компоненты макета HTML, которые должны быть изменены динамически, сначала выбираются с помощью метода getElementById(), а затем им присваиваются имена переменных, чтобы к ним можно было обращаться и обновлять.

Теперь мы напишем различные функции для различных функций. В функции будет создана функция playsonf, после чего мы просто добавим еще один класс с помощью метода add.classlist. Изменения значков воспроизведения и паузы будут производиться с помощью функции add.classlist.

Как и в случае с предыдущим событием, мы разработаем для него функцию и будем использовать прослушиватель событий щелчка, когда пользователь щелкает символ, запуская событие щелчка и изменяя музыкальный проигрыватель.

Окончательный вывод музыкального проигрывателя с использованием кода Html и Javascript: -

примечание: используйте музыку и изображения в музыкальном проигрывателе самостоятельно!

Мы завершили наш раздел javascript для музыкальных плееров. Вот наш обновленный вывод с javascript. Надеюсь, вам понравился код музыкального проигрывателя с использованием html, css и javascript. Вы можете увидеть выходное видео и скриншоты проекта. Смотрите другие наши блоги и получайте знания в области фронтенд-разработки. Спасибо

В этом посте мы узнаем, как создать Музыкальный проигрыватель, используя простой HTML, CSS и javascript. Если мы допустили ошибку или какую-либо путаницу, пожалуйста, оставьте комментарий, чтобы ответить или помочь вам в легком обучении.

Автор — Code With Random/Anki

Какой редактор кода вы используете для этого музыкального проигрывателя?

Я лично рекомендую использовать VS Code Studio, он очень прост и удобен в использовании.

Является ли этот проект Music Player отзывчивым или нет?

Да! Этот проект музыкального проигрывателя является адаптивным.

Используете ли вы какие-либо внешние ссылки для создания этого проекта?

Нет! этот музыкальный проигрыватель создан только с использованием кода Html, Css и JavaScript.