Это оптимизированный код, который может поддерживать очень ограниченные форматы.
Кода -копия выглядит следующим образом:
пакет com.hongyuan.test;
Импорт java.io.file;
импортировать java.io.ioexception;
Импорт javax.sound.sampled.AudioFormat;
импортировать javax.sound.sampled.adioinputstream;
импортировать javax.sound.sampled.audiosystem;
импортировать javax.sound.sampled.dataline;
Импорт javax.sound.sampled.lineunAvailableException;
импортировать javax.sound.sampled.sourcedataline;
Импорт javax.sound.sampled.unsupportedAudioFileException;
общественный класс Musictest {
Public Static Final String music_file = "Улыбка, когда мы встречаемся. Wav";
Public Static Void Main (String [] args) бросает LineUnavailableException,
UnsupportedAufileException, ioException {
// Получить аудио входной поток
Audioinputstream audioinputstream = audiosystem
.getAudioInputStream (новый файл (music_file));
// Получить объект кодирования аудио
AudioFormat audioFormat = audioinputStream.getFormat ();
// Установить ввод данных
Dataline.info datalineinfo = new Dataline.info (SourceDataline.class,
audioFormat, audiosystem.not_specified);
Источнинаталиновое источники = (источника) аудиозиистема
.getline (datalineInfo);
SourceDataline.open (AudioFormat);
SourceDataline.start ();
/*
* Прочтите данные из входного потока и отправьте в микшер
*/
int считать;
Byte tempbuffer [] = новый байт [1024];
while ((count = audioinputstream.read (tempbuffer, 0, tempbuffer.length))! = -1) {
if (count> 0) {
SourceDataline.Write (Tempbuffer, 0, count);
}
}
// очистить буфер данных и закрыть вход
SourceDataline.drain ();
SourceDataline.close ();
}
}