📜 Tümünü Göster 🔄 Otomatiğe Al var oynatici; var sozler=[ { "time": 0, "text": "Somewhere back in time", "meaning": "Zamanın bir yerinde, çok uzakta" }, { "time": 9.498525066757203, "text": "I left a part of me, I wanna see if you can try", "meaning": "Bir parçamı bıraktım, deneyebilir misin görmek istiyorum" }, { "time": 16, "text": "To bring it back to me", "meaning": "Onu bana geri getirmeni" }, { "time": 26.4, "text": "You gotta go where I cry", "meaning": "Gözyaşlarımın döküldüğü yerlere gitmen gerek" }, { "time": 35, "text": "And take in all the tears, I wanna see if you can try", "meaning": "Ve toplaman dökülen o yaşları, deneyebilir misin, görmek istiyorum" }, { "time": 42.20118696566772, "text": "Drink a little bit of me", "meaning": "Ruhumdan bir yudum al" }, { "time": 52.83055115258789, "text": "Noooooo", "meaning": "Yoooooo" }, { "time": 72, "text": "Just a little lonely where I am", "meaning": "Olduğum yerde birazcık yalnızım, o kadar" }, { "time": 80, "text": "Take me back in time, I wanna see if you can smile", "meaning": "Beni eski günlerimize götür, gülümseyebiliyor musun, görmek istiyorum." }, { "time": 87, "text": "If I become a better man", "meaning": "Eğer daha iyi birine dönüşürsem" }, { "time": 97.70125386076354, "text": "I need you, now I know", "meaning": "Sana ihtiyacım var, artık farkındayım" }, { "time": 105.5, "text": "Just give me one more time, I'm gonna try and be your friend", "meaning": "Son bir şans ver bana, bu sefer dostça yaklaşacağım sana" }, { "time": 112.6, "text": "So we can beat the end", "meaning": "Bitişi birlikte aşabileceğiz böylece" }, { "time": 123.73933889700317, "text": "Noooooo", "meaning": "Yoooooo" }, { "time": 63, "text": "No", "meaning": "Yo" } ]; var mevcutSatir=-1; var lastMevcutSatir=-1; var sozlerGuncelleInterval; // Şarkı sözlerini oluşturma fonksiyonu sozlerOlustur(); // Tümünü göster ikonuna tıklama document.getElementById('show-all-icon').addEventListener('click', function(){ document.getElementById('sozler-kapsayici').style.height='auto'; document.getElementById('sozler-kapsayici').style.overflowY='visible'; this.style.display='none'; document.getElementById('scroll-icon').style.display='inline'; }); // Scroll moduna dön ikonuna tıklama document.getElementById('scroll-icon').addEventListener('click', function(){ document.getElementById('sozler-kapsayici').style.height='400px'; document.getElementById('sozler-kapsayici').style.overflowY='auto'; this.style.display='none'; document.getElementById('show-all-icon').style.display='inline'; }); function onYouTubeIframeAPIReady(){ oynatici=new YT.Player('oynatici', { height: '315', width: '560', videoId: '_p2NvO6KrBs', // Buraya YouTube video ID'sini girin playerVars: { autoplay: 0, controls: 1, mute: 0, disablekb: 0, rel: 0, showinfo: 0, modestbranding: 1 }, events: { 'onStateChange': oynaticiDurumDegisti } }); } function oynaticiDurumDegisti(event){ if(event.data==YT.PlayerState.PLAYING||event.data==YT.PlayerState.PAUSED||event.data==YT.PlayerState.BUFFERING){ if(!sozlerGuncelleInterval){ sozleriGuncelle(); sozlerGuncelleInterval=setInterval(sozleriGuncelle, 200); } }else{ clearInterval(sozlerGuncelleInterval); sozlerGuncelleInterval=null; } } function sozleriGuncelle(){ if(!oynatici||!oynatici.getCurrentTime) return; var currentTime=oynatici.getCurrentTime(); for (var i=0; i < sozler.length; i++){ if(currentTime >=sozler[i].time&&(!sozler[i + 1]||currentTime < sozler[i + 1].time)){ if(mevcutSatir!==i){ mevcutSatir=i; sozlerStilGuncelle(); } break; } } } function sozlerStilGuncelle(){ if(lastMevcutSatir >=0){ var lastLineEl=document.getElementById('soz-' + lastMevcutSatir); if(lastLineEl){ lastLineEl.classList.remove('current'); lastLineEl.classList.add('passed'); } } var currentLineEl=document.getElementById('soz-' + mevcutSatir); if(currentLineEl){ currentLineEl.classList.add('current'); currentLineEl.classList.remove('passed'); // Mevcut satırı ekranın ortasında göstermek için otomatik kaydırma var sozlerKapsayici=document.getElementById('sozler-kapsayici'); var containerHeight=sozlerKapsayici.clientHeight; var currentLineOffset=currentLineEl.offsetTop - sozlerKapsayici.offsetTop; var scrollPosition=currentLineOffset - (containerHeight / 2) + (currentLineEl.clientHeight / 2); // Yumuşak kaydırma için özel fonksiyon animateScroll(sozlerKapsayici, scrollPosition, 300); } lastMevcutSatir=mevcutSatir; } function animateScroll(element, to, duration){ var start=element.scrollTop; var change=to - start; var startTime=performance.now(); function animateScrollStep(currentTime){ var elapsedTime=currentTime - startTime; var progress=Math.min(elapsedTime / duration, 1); element.scrollTop=start + change * easeInOutQuad(progress); if(progress < 1){ requestAnimationFrame(animateScrollStep); } } requestAnimationFrame(animateScrollStep); } function easeInOutQuad(t){ return t < 0.5 ? 2*t*t:-1+(4-2*t)*t; } function sozlerOlustur(){ var sozlerKapsayici=document.getElementById('sozler-kapsayici'); sozlerKapsayici.innerHTML=''; for (var i=0; i < sozler.length; i++){ var lyricDiv=document.createElement('div'); lyricDiv.className='sozler-satir'; lyricDiv.id='soz-' + i; lyricDiv.setAttribute('data-time', sozler[i].time); var textDiv=document.createElement('div'); textDiv.textContent=sozler[i].text; var meaningDiv=document.createElement('div'); meaningDiv.className='sozler-anlam'; meaningDiv.textContent=sozler[i].meaning; lyricDiv.appendChild(textDiv); lyricDiv.appendChild(meaningDiv); lyricDiv.addEventListener('click', function(){ var time=parseFloat(this.getAttribute('data-time')); oynatici.seekTo(time, true); }); sozlerKapsayici.appendChild(lyricDiv); } }