自作した波形データを Wave 形式で保存する
フリーハンドで好き勝手な波形を描き、離散的にデータを取って配列 wave[] を作ったとします。これをオーディオファイルとして保存出来たらと思うのですが、出来ません。
取り合えず次のような形を考えました(骨組みからして見当外れかも知れません)。
AudioFormat format=new AudioFormat(rate,8,1,true,true);
Line.Info li=new DataLine.Info(…);
…Line l=(…)AudioSystem.getLine(li);
File sound=new File("sound.wav");
try
{ l.open();
l.start();
AudioInputStream ais=new AudioInputStream(l);
AudioSystem.write(ais, AudioFileFormat.Type.WAVE, sound);
l.stop();
l.close();
}
catch(Exception e)
{
}
上記に於て "…" で示した所の近辺、つまり配列データをどうやって AudioInputStream に流し込むか、という所が分らないのです。TargetDataLine その他、あてずっぽうに二三のものを試みても、コンパイルの時点で撥ねられたり、出来たファイルが WMP に撥ねられたりします。
どなたか御存知の方、宜しく御教示をお願いします。