Ini adalah kode ramping yang dapat mendukung format yang sangat terbatas.
Salinan kode adalah sebagai berikut:
paket com.hongyuan.test;
impor java.io.file;
impor java.io.ioException;
impor javax.sound.sampled.audioformat;
impor javax.sound.sampled.audioInputStream;
impor javax.sound.sampled.audiosystem;
impor javax.sound.sampled.Dataline;
impor javax.sound.sampled.lineunavailableException;
impor javax.sound.sampled.sourcedataline;
impor javax.sound.sampled.unsupportedaudioudiException;
kelas publik Musictest {
string final public static music_file = "Smile When We Meet.wav";
public static void main (string [] args) melempar lineunavailable exception,
UnsupportediudiOfileException, IoException {
// Dapatkan aliran input audio
AudioInputStream AudioInputStream = Audiosystem
.getAudioInputStream (file baru (music_file));
// Dapatkan objek pengkodean audio
Audioformat audioformat = audioInputStream.getFormat ();
// Atur input data
Dataline.info datalineinfo = dataline.info baru (Sourcedataline.class,
audioformat, audiosystem.not_specified);
Sourcedataline Sourcedataline = (Sourcedataline) Audiosystem
.getline (datalineInfo);
Sourcedataline.open (audioformat);
Sourcedataline.start ();
/*
* Baca data dari aliran input dan kirim ke mixer
*/
jumlah int;
byte tempbuffer [] = byte baru [1024];
while ((count = audioInputStream.read (tempbuffer, 0, tempbuffer.length))! = -1) {
if (count> 0) {
Sourcedataline.write (Tempbuffer, 0, Count);
}
}
// Bersihkan buffer data dan tutup input
Sourcedataline.drain ();
Sourcedataline.close ();
}
}