Riprodurre un file audio con Bass.NET e C#

doublechar/ dicembre 28, 2016/ Developing/ 0 comments

Oggi vi guiderò nell’implementazione della libreria Bass.NET in C# per riprodurre un file audio.

Per creare e compilare il progetto useremo Visual Studio Express 2013.

Download

Il download è disponibile gratuitamente sul sito ufficiale, eccovi comunque il link al file Bass.NET.

Abbiamo anche bisogno della libreria già compilata, non inclusa nel file appena scaricato.

Download Bass.DLL

Preparazione progetto

Per prima cosa estraiamo Bass24.Net.zip ed installiamolo.

Subito dopo apriamo VS Express 2013 e creiamo un nuovo progetto, un’applicazione Console

Screenshot 2014-06-11 23.28.18

A destra, su Esplora Soluzioni aggiungiamo un riferimento a Bass.NET

Screenshot 2014-06-11 23.37.26

Screenshot 2014-06-11 23.38.25

A questo punto estriamo il file Bass24.zip e copiamo la libreria bass.dll nelle cartelle Release e Debug del nostro progetto.

Inizializziamo la DLL

A questo punto modifichiamo il codice così:

Se avviando il programma otteniamo un risultato simile a questo:

Screenshot 2014-06-11 23.50.49

È tutto ok, ma potreste chiedervi, cos’è quell’orrenda finestra al centro?

Per rimuoverla dovrete registrarvi al sito ed ottenere un codice da inserire prima dell’inizializzazione.

E’ più facile a dirsi che a farsi, ne riparleremo alla fine.

Riproduciamo un file

Per prima cosa dobbiamo conoscere la posizione del file.

Per dare all’utente la possibilità di scegliere velocemente ho scelto di usare l’API di Windows OpenFileDialog.

Dobbiamo aggiungere il riferimento a System.Windows.Forms e la linea [STAThread] prima del metodo main.

Ok, adesso useremo davvero la libreria Bass, ecco il codice che riprodurrà il file:

Abbiamo scoperto tre nuove funzioni:

  1. BASS_StreamCreateFile
  2. BASS_ChannelPlay
  3. BASS_ErrorGetCode

La prima, BASS_StreamCreateFile è la funzione che apre il file e crea uno stream che verrà in seguito riprodotto.

La seconda, BASS_ChannelPlay riproduce lo stream che riceve come primo parametro. Il secondo parametro indica se lo stream dovrà ricominciare una volta finito.

La terza, BASS_ErrorGetCode restituisce l’ultimo errore (oppure l’okay) delle funzioni Bass.DLL.

Una volta aperta l’applicazione e selezionato un file, esso verrà riprodotto finché non verrà premuto invio (Console.ReadLine)

A questo punto mi sembra tutto molto chiaro, per qualsiasi domanda, commentate pure.

Eliminare il fastidioso popup all’inizio

Dobbiamo registrarci al sito ufficiale e richiedere la nostra chiave di registrazione direttamente nella nostra mail.

Appena ricevuta la chiave di registrazione ci basterà inserire questa linea di codice (modificando opportunamente i parametri) prima di BASS_Init.

Un4seen.Bass.BassNet.Registration("your email", "your regkey")

Vi lascio con il link alla documentazione online di questa libreria

Buon divertimento!

Facci sapere cosa ne pensi con un commento!