♪サイン波の音
出せた。プログラム的にはきれいじゃないけど。特に、AudioPlayerとかは公開パッケージじゃないし。あと、AudioPlayerはスレッドなので、止め方が良く分からないので一定時間過ぎると強制終了とした。
private static final int LENGTH = 0x100000; public static void main(String[] args) throws Throwable { byte[] data = new byte[LENGTH]; for (int i = 0; i < data.length; i+=2) { double d = Math.sin(i * 0.068) * 100; data[i] = (byte)(0xFF & ((int)d >> 4)); data[i + 1] = (byte)(0xFF & (int)d); } AudioFormat af = new AudioFormat(48000, 16, 1, true, false); InputStream in = new ByteArrayInputStream(data); AudioInputStream ais = new AudioInputStream(in, af, LENGTH); AudioFileFormat.Type type = AudioFileFormat.Type.WAVE; ByteArrayOutputStream os = new ByteArrayOutputStream(); AudioSystem.write(ais, type, os); ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray()); sun.audio.AudioPlayer.player.start(is); Thread.sleep(30000); System.exit(0); }