Il s'agit d'un code rationalisé qui peut prendre en charge des formats très limités.
La copie de code est la suivante:
Package com.hongyuan.test;
Importer java.io.file;
Importer java.io.ioException;
Importer javax.sound.sampled.audioFORMAT;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.audiosystem;
import javax.sound.sampled.dataline;
Importer javax.sound.sampled.lineUnavailableException;
import javax.sound.sampled.sourcedataline;
import javax.sound.sampled.unsupportedAudioFileException;
classe publique Musictest {
public static final String music_file = "sourire quand nous nous rencontrons.wav";
public static void main (String [] args) lève LineUnavailableException,
Non soutenu parudiofileException, ioException {
// Obtenez un flux d'entrée audio
AudioInputStream AudioInputStream = Audiosystem
.getAudioInputStream (nouveau fichier (music_file));
// Obtenez l'objet Encoding audio
AudioFORMAT AudioOFORMAT = AudioInputStream.getFormat ();
// Définir l'entrée de données
Dataline.info datalineinfo = new Dataline.info (SourceDataline.class,
AudioFormat, Audiosystem.not_specified);
Sourcedataline Sourcedataline = (Sourcedataline) Audiosystème
.getLine (DatalineInfo);
Sourcedataline.Open (AudioOFORMAT);
SourceDataline.start ();
/ *
* Lisez les données du flux d'entrée et envoyez au mélangeur
* /
int count;
octet tempbuffer [] = nouveau octet [1024];
while ((count = audioInputStream.read (tempbuffer, 0, tempbuffer.length))! = -1) {
if (count> 0) {
SourceDataline.write (tempbuffer, 0, comte);
}
}
// effacer le tampon de données et fermer l'entrée
Sourcedataline.drain ();
Sourcedataline.close ();
}
}