Rozdział 14: Muzyka! Streamujemy Nyan Cat z YouTube 🎵

Co to za Nyan Cat bez muzyki?! Będziemy streamować słynną muzykę Nyan Cat prosto z YouTube!

Instalujemy narzędzia

sudo apt install mpv

mpv to świetny odtwarzacz multimedialny w terminalu. Lekki i potężny!

Teraz potrzebujemy yt-dlp — narzędzia do pobierania/streamowania z YouTube:

sudo apt install yt-dlp

Jeśli yt-dlp nie jest dostępny przez apt, zainstaluj przez pip:

pip install yt-dlp

Testujemy streaming!

yt-dlp -o - "https://www.youtube.com/watch?v=QH2-TGUlwu4" | mpv --no-video -

Co tu się dzieje?

Słyszysz muzykę?! 🎵 Ctrl+C żeby zatrzymać.

💡 Uwaga: Jeśli link nie działa (YouTube się zmienia), wyszukaj “nyan cat 10 hours” i podmień link.

Odtwarzanie w tle: & i nohup

Chcemy żeby muzyka grała w tle podczas gry. W Linuksie dodajemy & na końcu komendy:

mpv --no-video "https://www.youtube.com/watch?v=QH2-TGUlwu4" &

& mówi: “uruchom to w tle i oddaj mi terminal z powrotem”.

Zobaczysz numer procesu — zapamiętaj go! Żeby zatrzymać:

kill %1

%1 to numer zadania w tle. Możesz zobaczyć wszystkie:

jobs

Aktualizujemy skrypt startowy!

nano src/run_game.sh

Zamień na:

#!/bin/bash
# 🌈 Nyan Cat Runner - Skrypt startowy

MUSIC_URL="https://www.youtube.com/watch?v=QH2-TGUlwu4"
MUSIC_PID=""

echo "🌈 ================================= 🌈"
echo "       NYAN CAT RUNNER"
echo "🌈 ================================= 🌈"
echo ""

# Sprawdź czy mpv jest zainstalowany
if command -v mpv &> /dev/null && command -v yt-dlp &> /dev/null; then
    echo "🎵 Włączyć muzykę? (t/n)"
    read -r answer
    if [ "$answer" = "t" ] || [ "$answer" = "T" ]; then
        echo "🎵 Włączam muzykę Nyan Cat..."
        yt-dlp -q -o - "$MUSIC_URL" 2>/dev/null | mpv --no-video --really-quiet - &
        MUSIC_PID=$!
        echo "🎵 Muzyka gra! (PID: $MUSIC_PID)"
        sleep 2
    fi
else
    echo "⚠️  mpv lub yt-dlp nie zainstalowane."
    echo "   Zainstaluj: sudo apt install mpv yt-dlp"
    echo ""
fi

echo "Uruchamiam grę..."
sleep 1

# Aktywuj środowisko i uruchom grę
cd ~/projekty/nyan-cat-runner
source venv/bin/activate
python3 src/nyan_cat.py

# Po wyjściu — zatrzymaj muzykę
if [ -n "$MUSIC_PID" ]; then
    kill "$MUSIC_PID" 2>/dev/null
    # Zabij też mpv na wszelki wypadek
    killall mpv 2>/dev/null
    echo "🎵 Muzyka zatrzymana."
fi

echo ""
echo "🌈 Dzięki za grę! Do zobaczenia! 🐱"

Nowe rzeczy w skrypcie bash:

chmod — nie zapomnij!

chmod +x src/run_game.sh

Testujemy!

./src/run_game.sh

Muzyka + gra = pełne doświadczenie Nyan Cat! 🌈🎵

🏆 Wyzwanie

  1. Uruchom mpv w tle i użyj jobs żeby go zobaczyć
  2. Użyj kill żeby go zatrzymać
  3. Zmodyfikuj skrypt — dodaj opcję wyboru innej muzyki
  4. Sprawdź ps aux | grep mpv żeby znaleźć procesy mpv