0
JDK8では、SoftSynthesizerで作成されたAudioInputStreamから有用なデータが得られないようです。Java GervillソフトウェアSynthが動作しない
AudioSynthesizer s = new SoftSynthesizer();
AudioFormat format = new AudioFormat(44100, 16, 2, true, false);
AudioInputStream stream = s.openStream(format, null);
s.getChannels()[0].noteOn(60, 100);
while (stream.available() >= 0) {
byte[] b = new byte[2];
stream.read(b);
System.out.println(b[0] << 8 | b[1]);
}
s.getChannels()[0].noteOff(60);
ただし、println()は0しか表示せず、AudioInputStreamからオーディオデータが出力されません。 何か間違っていますか?あるいは、GervillはJDK 8のように非難されていますか?