- ベストアンサー
自作した波形データを 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 に撥ねられたりします。 どなたか御存知の方、宜しく御教示をお願いします。
- みんなの回答 (2)
- 専門家の回答
お礼
回答有難うございます。 早速取り入れて( open() などの取り外しの所でちょっと躓きましたが)やってみましたら wave ファイルが出現してプログラムが終了し、ファイルを WMP に放り込みますと見事に鳴りました。 大変助かりました。感謝します。