Home » Programmazione » Java » Eseguire un suono in Java

Eseguire un suono in Java

Grazie all’interfaccia AudioClip contenuta nel package java.applet l’esecuzione di suoni in Java è semplificata. L’interfaccia presenta tre metodi di base, tramite i quali è possibile effettuare le classiche operazioni eseguibili su un file audio, riproduzione, stop e loop.I metodi in questione sono i seguenti:

void play()

Avvia la riproduzione del clip audio.

void stop()

Ferma la riproduzione del clip audio.

void loop()

Esegue il clip audio ripetutamente.

Vediamo come utilizzare questi metodi sviluppando un piccolo esempio. Nello specifico vogliamo riprodurre il file applauso.wav, successivamente arrestarne la produzione ed infine impostare lo stato di loop (ripetizione continua) del file.Il codice per i nostri scopi è il seguente:


[sourcecode language=’java’]
import java.applet.Applet;

import java.applet.AudioClip;

public class suono extends Applet{

public void init(){

AudioClip music=getAudioClip(getDocumentBase(), “applauso.wav”);

music.play();

music.stop();

music.loop();

}

}
[/sourcecode]

Dovendo sfruttare le applet, importiamo i package Applet e AudioClip (righe 1 e 2), quest’ultimo ci servirà per eseguire il nostro file audio.La classe suono estende Applet (riga 3), pertanto ne eredita tutti i suoi metodi base e le varie proprietà, tra tali metodi figura init(), questo metodo viene richiamato ogni volta l’applet viene mandata in esecuzione, nel nostro caso abbiamo sovrascritto (override) il metodo ereditato da Applet.


La prima operazione compiuta dall’applet, è recuperare per mezzo del metodo getAudioClip (riga 5) l’oggetto di tipo AudioClip associato all’url, l’url è recuperato utilizzando il metodo getDocumentBase() e passando il nome del file audio che vogliamo sia eseguito. Sull’oggetto music restituito invochiamo infime i tre metodi dell’interfaccia AudioClip.

Naturalmente è possibile arricchire il programma effettuando una gestione degli errori, volutamente non effettua per concentrarci sul nostro obiettivo principale.

Lascia un commento