Doesn't appear to make a difference. replaced the first lines by this: boolean failedSimpleGetLine = false; AudioFormat format = new AudioFormat(44100, 16, 2, true, false); SourceDataLine line = null; // DataLine.Info info = new DataLine.Info(SourceDataLine.class, format); try { line = (SourceDataLine) AudioSystem.getSourceDataLine(format);
It still fails at the last line (reaches the last line). To clarify the bugs: 1) first it gives a sourcedataline that says it obeys the format, without throwing lineunavailableexception 2) first bug : then it throws lineunavailableexception when trying to open it. 3) second bug : however trying the sourcedatalines returned for all mixers eventually finds a line that just works - if so why wasn't that the line returned. The saddest thing is that i have pulseaudio installed and a recent version of openjdk installed. I assumed that was enough to get transparent mixing, so i removed my special fork of freetts.