Nell’ambito della gestione dell’audio ci sono svariate classi interessanti: in questa parte della guida prenderò in considerazione quelle che reputo le due “base” per il settore. Parlo delle classi Sound e Music. L’SDL.NET supporta svariati formati di files Audio: Microsoft Wave, Ogg Vorbis, MIDI. Attualmente, tuttavia, gli mp3 non sono supportati, per cui se dovete usare dei files di questo formato dovrete guardare altrove (anche di questo parleremo più avanti).

Come già avvenuto per le Surface e per i Fonts, il caricamento in memoria di un file audio è veramente semplice:

Sound bang = new Sound(“bang.wav”);

In questo modo all’oggetto bang sarà associato il suono “bang.wav” residente in memoria. Anche la riproduzione del suono è enormemente agevolata grazie al metodo Play(). Ecco due esempi per comprendere quanto è facile:

  • bang.Play(); // Il suono viene riprodotto una volta.
  • bang.Play(4); // Il suono viene riprodotto quattro volte.

Essendo questa una classe base, ovviamente, non ci sarà la possibilità di agire molto sulla personalizzazione del suono e la sua modifica. Tra gli altri metodi interessanti che possiamo trovare, tuttavia, abbiamo:

  • Il metodo FadeIn che permette di riprodurre il suono in fade in. Gli passiamo come parametro un intero che indichi il tempo di fade in millisecondi.
  • Il metodo FadeOut, analogamente alla precedente, permette di stoppare il suono in fade out. Anche in questo caso gli passiamo il numero di millisecondi sottoforma di un intero.
  • Il metodo Stop, ovviamente, non può mancare. Non ha bisogno di presentazioni ;)

Tra le proprietà degne di nota, invece, riporto solamente la proprietà “Volume”, che permette di regolare il volume.

Per la musica c’è un’altra classe a parte, come detto precedentemente: Music. Funziona nello stesso identico modo di Sound per quanto riguarda il caricamento dei suoni. La proprietà Volume, però, stavolta non è disponibile.

L’ho già detto precedentemente e mi ripeto: come potete vedere le classi che ho trattato in questa piccola parte della guida sono molto semplici e non sono molto potenti. Permettono di fare operazioni base ma niente di eccezionale. Tuttavia, una volta che si prenderà dimestichezza con entità quali la classe Mixer e la classe MusicPlayer (di cui parlerò in un contesto più avanzato) le cose cambieranno radicalmente.

Date un occhiata all’esempio di riferimento, in modo tale da capire meglio un pò il funzionamento e fare qualche prova. Per ora è tutto: iniziamo a parlare un pò di input ;)

Alla prossima!

  • Share/Bookmark