Como Criar uma Rádio Virtual Dinâmica Usando PHP e JavaScript (uso pessoal, atente-se aos direitos das suas musicas)


Introdução

Você já pensou em criar uma rádio virtual que toque automaticamente as músicas do seu servidor, adicionando novas faixas sem precisar alterar o código manualmente? Neste tutorial, vamos mostrar como criar uma rádio simples e dinâmica usando PHP para listar as músicas MP3 e JavaScript para controlá-las em sequência. Esse projeto é ideal para quem possui um servidor Linux com Apache e PHP rodando, e quer automatizar a reprodução de músicas de forma prática e eficiente.

Pré-requisitos

  • Servidor Linux com Apache e PHP instalados.
  • Diretório com músicas em formato MP3.
  • Acesso ao código PHP no servidor.

Passo 1: Estrutura de Diretórios

Organize seu projeto da seguinte forma no seu servidor:

/var/www/html/radio
  |-- /musicas (diretório onde suas músicas .mp3 estão)
  |-- index.php (arquivo principal que cria a playlist e exibe o player)

Passo 2: Criando o Script PHP para Gerar a Playlist

Vamos usar o PHP para listar as músicas que estão no diretório e gerar uma playlist dinâmica. Abaixo está o código que você deve inserir no arquivo index.php:

<?php
// Diretório onde as músicas estão armazenadas
$music_dir = './';

// Obter todas as músicas no diretório atual
$musicas = glob($music_dir . '*.{mp3,MP3}', GLOB_BRACE);

if (!$musicas) {
    echo "Nenhuma música encontrada.";
    exit;
}

// Gerar lista de reprodução
echo '<h1>Rádio Virtual</h1>';
echo '<audio id="audioPlayer" controls autoplay></audio>';
echo '<ul id="playlist">';
foreach ($musicas as $musica) {
    $musica_url = basename($musica);
    echo '<li><a href="' . $musica_url . '">' . basename($musica) . '</a></li>';
}
echo '</ul>';
?>

Aqui, usamos o PHP para listar os arquivos MP3 do diretório, gerando uma lista <ul> com links para cada música.

Se você quiser embaralhar as músicas, basta inserir o seguinte código:

// Embaralhar a lista de músicas
shuffle($musicas);

Passo 3: Adicionando JavaScript para Reproduzir as Músicas em Sequência

Agora, vamos usar JavaScript para gerenciar o player e garantir que, quando uma música terminar, a próxima comece automaticamente.

Logo antes de fechar a tag </body> no seu arquivo index.php, adicione o seguinte código JavaScript:

<script>
    // Pegando os elementos
    var audioPlayer = document.getElementById('audioPlayer');
    var playlist = document.getElementById('playlist');
    var tracks = playlist.getElementsByTagName('a');
    var currentTrack = 0;

    // Função para carregar e tocar a música
    function loadTrack(trackIndex) {
        audioPlayer.src = tracks[trackIndex].href;
        audioPlayer.play();
    }

    // Quando uma música acabar, ir para a próxima
    audioPlayer.addEventListener('ended', function() {
        currentTrack++;
        if (currentTrack >= tracks.length) {
            currentTrack = 0; // Recomeça a playlist quando todas as músicas tocarem
        }
        loadTrack(currentTrack);
    });

    // Carrega a primeira música ao iniciar
    loadTrack(currentTrack);
</script>

Com este script, sempre que uma música terminar, a próxima será carregada e tocada automaticamente.

Passo 4: Testando e Adicionando Músicas Dinamicamente

Agora, toda vez que você adicionar novas músicas ao diretório musicas, elas serão automaticamente incluídas na lista de reprodução sem que você precise alterar o código. O JavaScript se encarrega de tocar as músicas em sequência, criando uma verdadeira rádio virtual.

Considerações Finais

Com este simples projeto, você pode criar uma rádio virtual que se adapta automaticamente conforme você adiciona novas músicas ao diretório. Essa solução é leve, eficiente, e ideal para projetos pessoais, sem fins comerciais. Se você quiser expandir a funcionalidade, pode adicionar recursos como reprodução aleatória ou interfaces mais avançadas utilizando bibliotecas de players JavaScript.


Rolar para cima