Захватывать аудио вывод непосредственно на Windows 10 с помощью Java - PullRequest
0 голосов
/ 06 марта 2019

Я работаю над проектом, в котором мы должны захватывать звук в системе Windows 10. Идея заключается в том, что любое программное обеспечение, такое как Skype, можно использовать для совершения вызова, для захвата звука и использования его в системе преобразования речи в текст. Я дошел до того, что смог использовать аудио систему java для чтения любого микрофонного выхода. Однако получить звук на выходе невозможно. Система, в которой будет запущен проект, не может быть настроена на использование стереомикшера. Я знаю, что это возможно, если взглянуть на множество других программ. Поэтому мой вопрос в том, как бы мы поступили об этом на Java.

Это фрагмент кода, который я до сих пор читал на входе микрофона

 Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo(); 
 Mixer mixer = null;
 for (int cnt = 0; cnt < mixerInfo.length; cnt++) {
   System.out.println(cnt + " " + mixerInfo[cnt].getName());
   mixer = AudioSystem.getMixer(mixerInfo[cnt]);
   Line.Info[] lineInfos = mixer.getTargetLineInfo();
    if (lineInfos.length >= 1 && lineInfos[0].getLineClass().equals(TargetDataLine.class)) {
      System.out.println(cnt + " Mic is supported!");
      // break;
    }
  }
 AudioFormat format = new AudioFormat(48000, 24, 2, true, true);
 DataLine.Info dataLineInfo = new DataLine.Info(
          TargetDataLine.class, format );
 mixer = AudioSystem.getMixer(mixerInfo[6]);

 targetDataLine = (TargetDataLine) mixer.getLine(dataLineInfo);
 targetDataLine.open(audioFormat);
 targetDataLine.start();
...