由於目前寫得程式 我都把它包在同一個class下去執行 這次我把我要的功能分成兩個class 看起來比較明瞭簡單 順便學習一下
EX:
Server2.java (主要執行的程式)
JDKAudioRecorder.java (執行錄音的程式)
我在server2.java中 加入一段
JDKAudioRecorder s = new JDKAudioRecorder(targetDataLine,targetType,outputFile);
由於在 JDKAudioRecorder的constructor是有引數的 所以在這之前需要事先定義引數
如下:
AudioFormat audioFormat = null;
audioFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,44100.0F, 16, 2, 4, 44100.0F, false);
TargetDataLine targetDataLine = null;
AudioFileFormat.Type targetType = AudioFileFormat.Type.AU;
DataLine.Info info = new DataLine.Info(TargetDataLine.class,audioFormat);
targetDataLine = (TargetDataLine)AudioSystem.getLine(info);
targetDataLine.open(audioFormat);
String Filename = "C://JDKAudioRecord.wav";
File outputFile = new File(Filename);
接著我只要在server2.java中 加入s.main() (main method裡面就能起動整個JDKAudioRecorder.java 要做的事) 因此加入這段就等於把整個JDKAudioRecorder.java執行一次的意思一樣
沒有留言:
張貼留言