Ekolayzer Radyo + Playlist
📻 Radyo Pop Mix
↻
❌
import AudioMotionAnalyzer from 'https://cdn.skypack.dev/audiomotion-analyzer?min';
const audioEl = document.getElementById('audio');
const container = document.getElementById('container');
const playlist = document.getElementById('playlist');
let currentIndex = -1;
const loopStates = new WeakMap();
const audioMotion = new AudioMotionAnalyzer(container, {
source: audioEl,
mode: 6,
barSpace: .1,
showLeds: false,
mirror: 0,
reflexRatio: 0,
height: container.clientHeight
});
function playFromPlaylist(trackEl) {
if (!trackEl) return;
const btn = trackEl.querySelector('.play');
if (!btn) return;
const src = btn.dataset.src;
audioEl.src = src;
audioEl.play();
highlightActive(btn);
currentIndex = [...playlist.querySelectorAll('.track')].indexOf(trackEl);
}
function highlightActive(activeBtn) {
playlist.querySelectorAll('.play').forEach(b => {
b.classList.toggle('active', b === activeBtn);
});
}
playlist.addEventListener('click', e => {
if (e.target.closest('.play')) {
const trackEl = e.target.closest('.track');
playFromPlaylist(trackEl);
}
if (e.target.closest('.remove')) {
const trackEl = e.target.closest('.track');
if (trackEl) {
if (trackEl.querySelector('.play').classList.contains('active')) {
audioEl.pause();
currentIndex = -1;
}
trackEl.remove();
}
}
if (e.target.closest('.loop')) {
const btn = e.target.closest('.loop');
const trackEl = e.target.closest('.track');
const state = !loopStates.get(trackEl);
loopStates.set(trackEl, state);
btn.classList.toggle('active', state);
}
});
document.getElementById('upload').addEventListener('change', e => {
const fileBlob = e.target.files[0];
if (!fileBlob) return;
const url = URL.createObjectURL(fileBlob);
const name = fileBlob.name;
const trackEl = document.createElement('div');
trackEl.className = 'track';
trackEl.draggable = true;
trackEl.innerHTML = `
🎵 ${name}
↻
❌
`;
playlist.appendChild(trackEl);
playFromPlaylist(trackEl);
});
audioEl.addEventListener('ended', () => {
const tracks = playlist.querySelectorAll('.track');
if (currentIndex >= 0) {
const currentTrack = tracks[currentIndex];
if (loopStates.get(currentTrack)) {
playFromPlaylist(currentTrack);
return;
}
if (currentIndex + 1 < tracks.length) {
playFromPlaylist(tracks[currentIndex + 1]);
} else {
playFromPlaylist(tracks[0]);
}
}
});
audioEl.src = 'https://anadolu.liderhost.com.tr:6010/;';
audioEl.play().catch(() => {});
document.getElementById('fullscreen').addEventListener('click', () => {
container.requestFullscreen();
});
// sürükle-bırak playlist
let draggedEl = null;
playlist.addEventListener('dragstart', e => {
const tr = e.target.closest('.track');
if (!tr) return;
draggedEl = tr;
tr.classList.add('dragging');
e.dataTransfer.effectAllowed = 'move';
});
playlist.addEventListener('dragover', e => {
e.preventDefault();
const target = e.target.closest('.track');
if (target && target !== draggedEl) {
const rect = target.getBoundingClientRect();
const next = (e.clientY - rect.top) / rect.height > 0.5;
playlist.insertBefore(draggedEl, next ? target.nextSibling : target);
}
});
playlist.addEventListener('dragend', () => {
if (draggedEl) draggedEl.classList.remove('dragging');
draggedEl = null;
});
// 🔹 Çift tıklama ile fullscreen toggle
container.addEventListener('dblclick', () => {
if (document.fullscreenElement) {
document.exitFullscreen();
} else {
container.requestFullscreen();
}
});
Sayfa yüklendi.Gadget verileri alınıyor
BURAYA TIKLA VE SİTENE EKOLAYZERLİ RADYO EKLE TÜM KODU KOPYALA VE SİTENE YAPIŞTIR
TAM 1 SAAT KESİNTİSİZ TÜRKÇE REMİX POP MÜZİK DİNLE :müziğe doyabilmek için buradasın, Yeni türkçe remiks müzikler remixleştirilmiş versiyonları, En güzel ve bu ay içerisinde remiksleştirilmiş müzikleri hemen keyifle dinleyebilirsiniz, bol tizli baslı remiks türkçe pop müzikleri sizler için seçerek oluşturduk, en güzel ve bu yıl yeni yıl için en hareketli remiks müzikler. 1 Saat Boyunca kesintisiz türkçe remix pop müzik dinle. Mükemmel ses yüksekliğine sahip turkce remix pop müzik dinle. En süper türkçe remix müzikler dinlemek istiyom. rap arabesk pop remix hiç durmadan sürekli döngü 1 Saat Boyunca kesintisiz türkçe remix pop müzik dinle. tukish remix pop musics.
en yeni çıkan albümler donmada mp3 kalitesinde dinle üstelik reklamsız.
türkçe remix müzikler değişik tarz remik türkçe şarkılar.
YanıtlaSil