HG3 Music - Inclusive Music Experience
About this app
HG3 Music is a platform dedicated to providing an inclusive music experience for disabled music lovers and emerging artists. Enjoy and share creative works through an accessible interface.
HG3 Music - Inclusive Music Experience HG3 Music - Inclusive Music Experience Add Track My Music Library
Related apps
Put this on your site
Source
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>HG3 Music - Inclusive Music Experience</title>
<meta name="description" content="HG3 Music is a platform dedicated to providing an inclusive music experience for disabled music lovers and emerging artists. Enjoy and share creative works through an accessible interface.">
<meta name="keywords" content="Music, Accessibility, Disabled, Artists, Streaming, HG3 Music, YouTube Music">
<!-- Libraries -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.6.0/css/fontawesome.min.css" crossorigin="anonymous">
<script type="text/javascript">
try {
// This will run when the DOM is ready.
document.addEventListener("DOMContentLoaded", function() {
const musicLibrary = [];
let currentTrackIndex = -1;
function renderMusicLibrary() {
const libraryContainer = document.getElementById("music-library");
libraryContainer.innerHTML = musicLibrary.map((track, index) => `
<div class="card my-2" style="background: linear-gradient(135deg, #e0f7fa, #80deea);">
<div class="card-body">
<h5 class="card-title">${track.title}</h5>
<p class="card-text">${track.artist} | ${track.genre}</p>
<button class="btn btn-primary" onclick="playTrack(${index})">Play</button>
<button class="btn btn-danger" onclick="removeTrack(${index})"><i class="fas fa-trash"></i> Remove</button>
</div>
</div>
`).join('');
}
window.playTrack = function(index) {
if (index !== currentTrackIndex) {
currentTrackIndex = index;
const track = musicLibrary[index];
const audio = document.getElementById('audio-player');
audio.src = track.url;
audio.play();
}
};
window.removeTrack = function(index) {
musicLibrary.splice(index, 1);
renderMusicLibrary();
};
document.getElementById("add-track-form").addEventListener("submit", function(event) {
event.preventDefault();
const title = document.getElementById("title").value;
const artist = document.getElementById("artist").value;
const genre = document.getElementById("genre").value;
const url = document.getElementById("url").value;
musicLibrary.push({ title, artist, genre, url });
renderMusicLibrary();
this.reset();
});
});
} catch (error) {
throw error;
}
</script>
<style>
body {
background: linear-gradient(180deg, #ffeb3b, #8bc34a);
color: #333;
}
h1 {
text-align: center;
margin: 20px 0;
}
.container {
max-width: 800px;
margin: auto;
padding: 20px;
border-radius: 15px;
background: rgba(255, 255, 255, 0.8);
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}
#audio-player {
width: 100%;
margin: 20px 0;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1>HG3 Music - Inclusive Music Experience</h1>
<form id="add-track-form">
<div class="mb-3">
<input type="text" id="title" class="form-control" placeholder="Track Title" required />
</div>
<div class="mb-3">
<input type="text" id="artist" class="form-control" placeholder="Artist Name" required />
</div>
<div class="mb-3">
<input type="text" id="genre" class="form-control" placeholder="Genre" required />
</div>
<div class="mb-3">
<input type="url" id="url" class="form-control" placeholder="Audio URL" required />
</div>
<button type="submit" class="btn btn-success">Add Track</button>
</form>
<h2>My Music Library</h2>
<div id="music-library"></div>
<audio id="audio-player" controls></audio>
</div>
</body>
</html>
NEW APPS
These are apps made by the community!