Kodlar aşağıdadır.

Alıntı
<!DOCTYPE html>
<html lang="tr">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Yasin Suresi</title>
    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
    <style>
        .card-arabic {
            background-color: #f9f9f9;
        }

        .card-text-arabic {
            font-size: 1.2em;
            direction: rtl;
        }

        .card-text-translation {
            font-size: 1em;
            color: green;
        }

        .card-text-transliteration {
            font-size: 1em;
            font-style: italic;
        }

        .highlight {
            background-color: #d4edda !important;
            padding-top: 15px;
            padding-bottom: 15px;
        }

        .ayah-card:not(.highlight) .card-text-translation {
            color: black; /* Normal renk */
        }

        .ayah-card:not(.highlight) .card-text-transliteration {
            font-style: normal; /* Normal stil */
        }

        .ayah-card:not(.highlight) {
            opacity: 0.5;
        }

        .audio-player-container {
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            background-color: #f1f1f1;
            padding: 10px;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
            z-index: 1000;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        #audioPlayer {
            display: none;
        }

        .audio-controls {
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .audio-controls button {
            background-color: #007bff;
            color: white;
            border: none;
            padding: 10px;
            cursor: pointer;
            font-size: 1.2em;
            border-radius: 5px;
            margin: 0 5px;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 50px;
            height: 50px;
        }

        .audio-controls button:hover {
            background-color: #0056b3;
        }

        .audio-controls button svg {
            width: 24px;
            height: 24px;
        }

        .now-playing {
            text-align: center;
            margin-bottom: 10px;
            font-weight: bold;
            color: green;
            font-size: 1.1em;
        }
    </style>
</head>

<body>

    <div class="container mt-5" id="surah-content">
        <h1 class="text-center mb-4">Yasin Suresi</h1>
        <div class="row" id="surah-container">
            <?php
            // AlQuran API'den Yasin Suresi'ni (Süre 36) almak için URL belirleyin
            $urlArabic = "http://api.alquran.cloud/v1/surah/36"; // Arabic text
            $urlTranslation = "http://api.alquran.cloud/v1/surah/36/tr.golpinarli"; // Diyanet translation
            $urlTransliteration = "http://api.alquran.cloud/v1/surah/36/tr.transliteration"; // Transliteration
            $urlAudio = "http://api.alquran.cloud/v1/surah/36/ar.alafasy"; // Audio recitation by Alafasy

            // cURL başlat
            $chArabic = curl_init();
            $chTranslation = curl_init();
            $chTransliteration = curl_init();
            $chAudio = curl_init();

            // cURL seçeneklerini ayarla
            curl_setopt($chArabic, CURLOPT_URL, $urlArabic);
            curl_setopt($chArabic, CURLOPT_RETURNTRANSFER, 1);

            curl_setopt($chTranslation, CURLOPT_URL, $urlTranslation);
            curl_setopt($chTranslation, CURLOPT_RETURNTRANSFER, 1);

            curl_setopt($chTransliteration, CURLOPT_URL, $urlTransliteration);
            curl_setopt($chTransliteration, CURLOPT_RETURNTRANSFER, 1);

            curl_setopt($chAudio, CURLOPT_URL, $urlAudio);
            curl_setopt($chAudio, CURLOPT_RETURNTRANSFER, 1);

            // cURL isteğini gerçekleştir ve yanıtı al
            $responseArabic = curl_exec($chArabic);
            $responseTranslation = curl_exec($chTranslation);
            $responseTransliteration = curl_exec($chTransliteration);
            $responseAudio = curl_exec($chAudio);

            // cURL oturumunu kapat
            curl_close($chArabic);
            curl_close($chTranslation);
            curl_close($chTransliteration);
            curl_close($chAudio);

            // JSON yanıtını çöz
            $dataArabic = json_decode($responseArabic, true);
            $dataTranslation = json_decode($responseTranslation, true);
            $dataTransliteration = json_decode($responseTransliteration, true);
            $dataAudio = json_decode($responseAudio, true);

            // İsteğin başarılı olup olmadığını kontrol et
            if ($dataArabic && $dataArabic['status'] === "OK" && $dataTranslation && $dataTranslation['status'] === "OK" && $dataTransliteration && $dataTransliteration['status'] === "OK" && $dataAudio && $dataAudio['status'] === "OK") {
                // Sure verilerini al
                $surahArabic = $dataArabic['data'];
                $surahTranslation = $dataTranslation['data'];
                $surahTransliteration = $dataTransliteration['data'];
                $surahAudio = $dataAudio['data']['ayahs'];

                // Yasin Suresi'ni kartlarla göster
                foreach ($surahArabic['ayahs'] as $index => $ayah) {
                    $arabicText = $ayah['text'];
                    $translation = $surahTranslation['ayahs'][$index]['text'];
                    $transliteration = $surahTransliteration['ayahs'][$index]['text'];

                    // "ü" harfini "u" ile değiştir
                    $transliteration = str_replace('ü', 'u', $transliteration);
                     $transliteration = str_replace('g', 'ğ', $transliteration);

                    $cardClass = ($index === 0) ? 'ayah-card highlight' : 'ayah-card';
                    echo '<div class="col-md-12 mb-4 ' . $cardClass . '" id="ayah-' . $ayah['numberInSurah'] . '">';
                    echo '<div class="card card-arabic">';
                    echo '<div class="card-body">';
                    echo '<h5 class="card-title text-center" >Yasin Suresi ' . $ayah['numberInSurah'] . '. Ayet</h5>';
                  
                    echo '</div>';
                    echo '</div>';
                     echo '<div class="card mt-2">';
                    echo '<div class="card-body">';
                  
                    echo '<p class="card-text card-text-arabic text-center">' . $arabicText . '</p>';
                    echo '</div>';
                    echo '</div>';
                    echo '<div class="card mt-2">';
                    echo '<div class="card-body">';
                    echo '<p class="card-text card-text-transliteration"><strong>Latince Okunuşu :</strong> ' . $transliteration . '</p>';
                    echo '</div>';
                    echo '</div>';
                    echo '<div class="card mt-2">';
                    echo '<div class="card-body">';
                    echo '<p class="card-text card-text-translation"><strong>Meali :</strong> <span class="ayah-translation">' . $translation . '</span></p>';
                    echo '</div>';
                    echo '</div>';
                    echo '</div>';
                }
            } else {
                echo '<div class="alert alert-danger">Sure alınamadı.</div>';
            }
            ?>
        </div>
    </div>

    <div class="audio-player-container">
        <div id="nowPlaying" class="now-playing"></div>
        <div class="audio-controls">
            <button id="prevAyah">
                <svg viewBox="0 0 24 24">
                    <path d="M5 12l14-9v18z"></path>
                </svg>
            </button>
            <button id="playPause">
 <svg id="pauseIcon" viewBox="0 0 24 24" style="display: none;">
                    <path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"></path>
                </svg>
                <svg id="playIcon" viewBox="0 0 24 24">
                    <path d="M8 5v14l11-7z"></path>
                </svg>
              
            </button>
            <button id="nextAyah">
                <svg viewBox="0 0 24 24">
                    <path d="M19 12l-14 9V3z"></path>
                </svg>
            </button>
            <button id="muteToggle">
                <svg id="unmutedIcon" viewBox="0 0 24 24">
                    <path d="M12 3v18l-5-5H3V9h4l5-6zm8.5 8.5L18 13V7l-1.5 1.5L13 7v10l3.5-3.5L18 17v-6l1.5 1.5V12h1v-1.5z"></path>
                </svg>
                <svg id="mutedIcon" viewBox="0 0 24 24" style="display: none;">
                    <path d="M12 3v18l-5-5H3V9h4l5-6zm8.5 8.5L18 13V7l-1.5 1.5L13 7v10l3.5-3.5L18 17v-6l1.5 1.5V12h1v-1.5z"></path>
                </svg>
            </button>
        </div>
        <audio id="audioPlayer" controls>
            <source id="audioSource" src="" type="audio/mp3">
            Tarayıcınız ses etiketini desteklemiyor.
        </audio>
    </div>

    <script>
        document.addEventListener('DOMContentLoaded', function () {
            const totalAyahs = <?php echo count($surahArabic['ayahs']); ?>;
            let currentAyah = 1;
            const audioPlayer = document.getElementById('audioPlayer');
            const audioSource = document.getElementById('audioSource');
            const ayahCards = document.querySelectorAll('.ayah-card');
            const audioUrls = <?php echo json_encode(array_map(function ($ayah) {
                                    return $ayah['audio'];
                                }, $surahAudio)); ?>;
            const surahContent = document.getElementById('surah-content');
            const loadingScreen = document.getElementById('preloader');
            const progress = document.getElementById('progress');
            const loadingText = document.getElementById('loadingText');
            const nowPlaying = document.getElementById('nowPlaying');
            const playPauseButton = document.getElementById('playPause');
            const prevAyahButton = document.getElementById('prevAyah');
            const nextAyahButton = document.getElementById('nextAyah');
            const muteToggleButton = document.getElementById('muteToggle');
            let audioPreloaded = [];
            let isPlaying = false;
            let isPaused = false;

            function highlightAyah(ayahNumber) {
                ayahCards.forEach(card => {
                    if (card.id === `ayah-${ayahNumber}`) {
                        card.classList.add('highlight');
                    } else {
                        card.classList.remove('highlight');
                    }
                });
                const currentCard = document.getElementById(`ayah-${ayahNumber}`);
                currentCard.scrollIntoView({
                    behavior: 'smooth',
                    block: 'center'
                });
            }

            function playAyah(ayahNumber) {
                const audioUrl = audioPreloaded[ayahNumber - 1].src;
                audioSource.src = audioUrl;
                audioPlayer.load();
                audioPlayer.play();
                highlightAyah(ayahNumber);

                // Now Playing gösterimi
                nowPlaying.innerHTML = `Şu an ${ayahNumber}. Ayettesin`;
                document.getElementById('playIcon').style.display = 'none';
                document.getElementById('pauseIcon').style.display = 'block';
                isPlaying = true;
                isPaused = false;
            }

            function pauseAyah() {
                audioPlayer.pause();
                document.getElementById('playIcon').style.display = 'block';
                document.getElementById('pauseIcon').style.display = 'none';
                isPlaying = false;
                isPaused = true;
            }

            playPauseButton.addEventListener('click', function () {
                if (isPlaying) {
                    pauseAyah();
                } else {
                    if (isPaused) {
                        audioPlayer.play();
                        document.getElementById('playIcon').style.display = 'none';
                        document.getElementById('pauseIcon').style.display = 'block';
                        isPlaying = true;
                    } else {
                        playAyah(currentAyah);
                    }
                }
            });

            audioPlayer.addEventListener('ended', function () {
                if (currentAyah < totalAyahs) {
                    currentAyah++;
                    playAyah(currentAyah);
                }
            });

            prevAyahButton.addEventListener('click', function () {
                if (currentAyah > 1) {
                    currentAyah--;
                    playAyah(currentAyah);
                }
            });

            nextAyahButton.addEventListener('click', function () {
                if (currentAyah < totalAyahs) {
                    currentAyah++;
                    playAyah(currentAyah);
                }
            });

            muteToggleButton.addEventListener('click', function () {
                audioPlayer.muted = !audioPlayer.muted;
                document.getElementById('unmutedIcon').style.display = audioPlayer.muted ? 'none' : 'block';
                document.getElementById('mutedIcon').style.display = audioPlayer.muted ? 'block' : 'none';
            });

            function preloadAudio() {
                let loadedCount = 0;
                audioUrls.forEach((url, index) => {
                    const audio = new Audio();
                    audio.src = url;
                    audio.addEventListener('canplaythrough', () => {
                        loadedCount++;
                        const progressPercent = Math.round((loadedCount / audioUrls.length) * 100);
                        progress.style.width = progressPercent + '%';

                        // Preloader durumuna göre metin güncellemeleri
                        if (progressPercent === 50) {
                            loadingText.textContent = "Biraz daha sabır et, az kaldı :)";
                        } else if (progressPercent === 80) {
                            loadingText.textContent = "Çok az kaldı :)";
                        } else if (progressPercent === 100) {
                            loadingText.textContent = "Sabrın için teşekkür ederim. Bak Bitti Mübarek :)";
                            setTimeout(() => {
                                loadingText.textContent = ""; // Metni temizle
                                setTimeout(() => {
                                    loadingScreen.style.opacity = '0';
                                    setTimeout(() => {
                                        loadingScreen.style.display = 'none';
                                        surahContent.style.display = 'block';
                                        playAyah(currentAyah);
                                    }, 300);
                                }, 1000); // Metnin ekranda kalma süresi
                            }, 2000); // Metnin ekranda kalma süresi
                        }
                    });
                    audioPreloaded.push(audio);
                });
            }

            preloadAudio();

            // Kullanıcının tarayıcıyı kapatıp açması durumunda kaldığı ayeti hatırlama
            window.addEventListener('beforeunload', function () {
                localStorage.setItem('lastPlayedAyah', currentAyah);
            });

            window.addEventListener('load', function () {
                const lastPlayedAyah = localStorage.getItem('lastPlayedAyah');
                if (lastPlayedAyah) {
                    currentAyah = parseInt(lastPlayedAyah);
                    playAyah(currentAyah);
                }
            });

            // Ayet kartlarına tıklama event'i
            ayahCards.forEach(card => {
                card.addEventListener('click', function () {
                    const ayahNumber = parseInt(this.id.split('-')[1]);
                    currentAyah = ayahNumber;
                    playAyah(currentAyah);
                });
            });

            // Baştan Başla butonu event'i
            const restartButton = document.getElementById('restartButton');
            restartButton.addEventListener('click', function () {
                currentAyah = 1;
                playAyah(currentAyah);
            });
        });
    </script>
</body>

</html>