diff options
-rw-r--r-- | src/com/darkprograms/speech/microphone/Microphone.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/com/darkprograms/speech/microphone/Microphone.java b/src/com/darkprograms/speech/microphone/Microphone.java index bae1366..e2003da 100644 --- a/src/com/darkprograms/speech/microphone/Microphone.java +++ b/src/com/darkprograms/speech/microphone/Microphone.java @@ -142,8 +142,10 @@ public class Microphone { File file = new File(audioFile); setAudioFile(file); - DataLine.Info dataLineInfo = new DataLine.Info(TargetDataLine.class, getAudioFormat()); - setTargetDataLine((TargetDataLine) AudioSystem.getLine(dataLineInfo)); + if(getTargetDataLine()==null){ + DataLine.Info dataLineInfo = new DataLine.Info(TargetDataLine.class, getAudioFormat()); + setTargetDataLine((TargetDataLine) AudioSystem.getLine(dataLineInfo)); + } //Get Audio @@ -180,8 +182,8 @@ public class Microphone { if(getTargetDataLine()==null){ initTargetDataLine(); } - if(!getTargetDataLine().isOpen()){ - try { + if(!getTargetDataLine().isOpen() && !getTargetDataLine().isRunning() && !getTargetDataLine().isActive()){ + try { setState(CaptureState.PROCESSING_AUDIO); getTargetDataLine().open(getAudioFormat()); getTargetDataLine().start(); |