21 Ago 2025, Gio

Come creare un playout radio in C# – Parte 1: Interfaccia base

In questa guida ti mostrerò come creare un playout radio in C# da zero, perfetto per gestire musica, jingle e dirette. Nel caso volessi capire meglio cos’è un playout, ti consiglio di leggere questo mio articolo.

Il playout è il cuore di ogni stazione radio: è il software che gestisce la riproduzione automatica di musica, jingle, pubblicità e dirette.
In questa serie di guide ti mostrerò come realizzare un semplice playout radio in C#, passo dopo passo, partendo da zero.
In questa Parte 1 creeremo la struttura base dell’applicazione e un’interfaccia grafica semplice per caricare e riprodurre un brano audio.

PREREQUISITI

Per seguire questa guida ti serve:

  • Visual Studio (versione Community gratuita va benissimo)
  • Libreria NAudio per la gestione dell’audio (Download da NuGet)
  • Conoscenze base di C# e Windows Forms

CREAZIONE DEL PROGETTO

Iniziamo a creare il nostro progetto di lavoro

  1. Apri Visual Studio e crea un nuovo progetto Windows Forms App (.NET Framework).
  2. Dai un nome al progetto, ad esempio: RadioPlayout
  3. Scegli la cartella di destinazione e clicca su Crea.


CREAZIONE DELL’INTERFACCIA GRAFICA

Nella form principale (Form1) aggiungi:

  • Un pulsante “Carica Brano” (btnLoad)
  • Un pulsante “Play” (btnPlay)
  • Un pulsante “Stop” (btnStop)
  • Un’etichetta (lblTrack) per mostrare il nome del brano
  • Un controllo OpenFileDialog (openFileDialog1)

Organizza i pulsanti in fila e metti l’etichetta in alto per dare subito un aspetto ordinato.


AGGIUNGIAMO LA LIBRERIA NAUDIO AL NOSTRO PROGETTO

Vai su Strumenti → Gestione pacchetti NuGet → Gestisci pacchetti per soluzione.
Cerca NAudio e installalo nel progetto.


CODICE PER LA RIPRODUZIONE BASE DEL NOSTRO FILE AUDIO
Apri il file Form1.cs e aggiungi in cima:

using NAudio.Wave;

Poi aggiungi le variabili globali:

private IWavePlayer waveOut;
private AudioFileReader audioFile;


DIAMO VITA AL NOSTRO PULSANTE

Facciamo Doppio Click sul nostro pulsante “Carica Brano” e ci porterà nella funzione del nostro pulsante. Al suo interno andiamo a inserire il codice necessario per precaricare il nostro brano nella libreria NAudio

private void btnLoad_Click(object sender, EventArgs e)
{
    openFileDialog1.Filter = "File audio|*.mp3;*.wav";
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        lblTrack.Text = "Brano caricato: " +     System.IO.Path.GetFileName(openFileDialog1.FileName);
        audioFile = new AudioFileReader(openFileDialog1.FileName);
        waveOut = new WaveOutEvent();
        waveOut.Init(audioFile);
    }
}

Spiegazione del Codice:

  • openFileDialog1.Filter = “File audio|*.mp3;*.wav”: Ti permette di impostare dei filtri alla finestra di dialogo che verrà aperta. Quindi quando andrai a cercare i tuoi file audio da caricare, ti spunteranno solo eventuali audio con estensione .mp3 e .wav
  • if (openFileDialog1.ShowDialog() == DialogResult.OK): Se l’utente ha selezionato con successo qualche file, procediamo!
  • lblTrack.Text = “Brano caricato: ” + System.IO.Path.GetFileName(openFileDialog1.FileName): Andiamo ad impostare al nostro label lblTrack il testo “Brano Caricato: ” con l’aggiunta del nome file (viene unito grazie al +, che in questo caso unisce 2 stringhe)
  • audioFile = new AudioFileReader(openFileDialog1.FileName): Carica il file da riprodurre su NAudio
  • waveOut.Init(audioFile): Inizializza l’uscita audio con il file da riprodurre


RIPRODUZIONE FINALE DEL BRANO

Effettuiamo ora la riproduzione del nostro brano.
Con un doppio click sul nostro pulsante di “Play”, andiamo ad effettuare il play

private void btnPlay_Click(object sender, EventArgs e)
{
    if (waveOut != null)
    {
        waveOut.Play();
    }
}

Quindi se il nostro waveOut contiene il file da riprodurre, continua con il Play(), altrimenti non fare nulla.

Inseriamo anche lo STOP della riproduzione audio.
Come fatto per il tasto Play, effettuiamo un doppio click sul nostro pulsante di STOP

private void btnStop_Click(object sender, EventArgs e)
{
    if (waveOut != null)
    {
        waveOut.Stop();
    }
}

Anche qui, se il nostro waveOut è diverso da null (quindi contiene il brano), procediamo con lo STOP.


ORA PROVA IL TUO PLAYOUT

Ora premi F5 in Visual Studio per avviare il progetto:

  1. Clicca Carica Brano e scegli un file MP3 o WAV.
  2. Premi Play per ascoltarlo.
  3. Usa Stop per fermarlo.

Complimenti!
Hai creato la base del tuo playout radio in C#!


PROSSIMI PASSI
Nella prossima guida aggiungeremo:

  • Creazione e gestione di playlist multiple
  • Riproduzione automatica in sequenza
  • Funzione “Jingle” con tasti rapidi

Buon divertimento!