import java.io.*;
import javax.sound.sampled.*;
public class game0716{
static int htz = 44100;
static AudioFormat fmt = new AudioFormat(htz, 8, 1, true, true);
static SourceDataLine line;
static InputStream stream;
public static void writeData(double rate) {
int don,dp,t;
byte[] data = new byte[htz];
rate=261.6;
don=(int)(htz/rate);
dp=(int)(don/2);
t=0;
for (int i = 0; i < htz; i++) {
if(t<dp)data[i]=100;
if(t>dp-1)data[i]=-100;
t=t+1;
if(t>don)t=0;
}
line.write(data,0,htz);
writeFile(new File("sound.wav"), data); // ファイルへ保存
}
public static void writeFile(java.io.File target, byte[] buf) {
InputStream in = new ByteArrayInputStream(buf);
AudioInputStream ais = new AudioInputStream(in, fmt, buf.length);
try {
AudioSystem.write(ais, AudioFileFormat.Type.WAVE, target);
} catch (IOException e) {
System.out.println(e);
}
}
public static void main(String[] args) {
try {
DataLine.Info info = new DataLine.Info(SourceDataLine.class, fmt);
line = (SourceDataLine)AudioSystem.getLine(info);
line.open();
line.start();
writeData(440.00);
writeData(880.00);
line.drain();
} catch (LineUnavailableException e) {
System.out.println(e);
System.exit(1);
}
}
}
最終更新:2011年02月27日 15:21