user-img

์œ ํŠœ๋ธŒ ์˜ค๋””์˜ค๋ฅผ ํŽ˜์ด์ง€๊ฐ€ ์ด๋™ํ•ด๋„ ๋Š๊ธฐ์ง€ ์•Š๊ณ  ์žฌ์ƒ๋  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค

๋งˆ๋•…ํ•œ ๋””์ž์ธ์ด ์ƒ๊ฐ๋‚˜์ง€ ์•Š์•„ on/off ๊ธฐ๋Šฅ์€ ์ง€์›ํ•˜์ง€ ์•Š๊ณ  ์žˆ์ง€๋งŒ... 

์–ด๋–ป๊ฒŒ ์™„์„ฑํ•ด์•ผํ• ์ง€ ๊ณ ๋ฏผ์ด๋‹ค

ใ…‡ใ……ใ…‡...

๊ทธ๋ฆฌ๊ณ  ํ•œ ๋ฒˆ ์ด๊ฑธ ์ ์šฉํ•˜๋ฉด ํ‹ฐ์Šคํ† ๋ฆฌ ๋‚ด์— ์ž„์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์ด ์Œ“์—ฌ์„œ

์—…๋ฐ์ดํŠธ ์ „์— ์ดˆ๊ธฐํ™”๋ฅผ ํ•œ ๋ฒˆ ์‹œ์ผœ์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค... 

<div id="youtubePlayer"></div>

<script>
    // YouTube IFrame API ๋กœ๋“œ
    var tag = document.createElement('script');
    tag.src = "https://www.youtube.com/iframe_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

    // ์ „์—ญ ๋ณ€์ˆ˜
    var player;
    var saveInterval;

    // YouTube IFrame Player API ์ดˆ๊ธฐํ™”
    function onYouTubeIframeAPIReady() {
        player = new YT.Player('youtubePlayer', {
            height: '0', // ์ˆจ๊น€ ์ฒ˜๋ฆฌ
            width: '0', // ์ˆจ๊น€ ์ฒ˜๋ฆฌ
            videoId: 'h3b81wivFSg', // ์œ ํŠœ๋ธŒ ์˜์ƒ ID
            playerVars: {
                autoplay: 1,
                loop: 1,
                playlist: 'h3b81wivFSg',
            },
            events: {
                onReady: onPlayerReady,
            },
        });
    }

    // ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์ค€๋น„๋˜์—ˆ์„ ๋•Œ ์‹คํ–‰
    function onPlayerReady(event) {
        // ์ด์ „ ์žฌ์ƒ ์‹œ๊ฐ„ ๊ฐ€์ ธ์˜ค๊ธฐ
        const savedTime = parseFloat(localStorage.getItem('bgmTime')) || 0;
        player.seekTo(savedTime, true); // ์ €์žฅ๋œ ์‹œ๊ฐ„์œผ๋กœ ์ด๋™
        player.playVideo(); // ์ž๋™ ์žฌ์ƒ ์‹œ์ž‘

        // ์ฃผ๊ธฐ์ ์œผ๋กœ ํ˜„์žฌ ์žฌ์ƒ ์‹œ๊ฐ„ ์ €์žฅ (0.1์ดˆ ๊ฐ„๊ฒฉ)
        saveInterval = setInterval(() => {
            const currentTime = player.getCurrentTime();
            if (!isNaN(currentTime)) {
                localStorage.setItem('bgmTime', currentTime.toFixed(1)); // 0.1์ดˆ ๋‹จ์œ„ ์ €์žฅ
            }
        }, 50); // 0.05์ดˆ ๊ฐ„๊ฒฉ
    }

    // ํŽ˜์ด์ง€ ๋– ๋‚  ๋•Œ ์žฌ์ƒ ์‹œ๊ฐ„ ์ฆ‰์‹œ ์ €์žฅ
    window.addEventListener('beforeunload', () => {
        clearInterval(saveInterval); // ์ฃผ๊ธฐ์  ์ €์žฅ ์ค‘๋‹จ
        if (player) {
            const currentTime = player.getCurrentTime();
            if (!isNaN(currentTime)) {
                localStorage.setItem('bgmTime', currentTime.toFixed(1)); // ์ฆ‰์‹œ ์ €์žฅ
            }
        }
    });
</script>
ํ˜„์žฌ๊ธ€
๋Š๊ธฐ์ง€ ์•Š๋Š” ์œ ํŠœ๋ธŒ bgm ์žฌ์ƒ ์ฝ”๋“œ