2010-12-05 3 views
0

Я написал код для захвата звука с помощью API JavaSound.
Она начинается так:Захват аудио в не эксклюзивном режиме с помощью API JavaSound

 DataLine.Info info = new DataLine.Info(TargetDataLine.class, 
      audioFormat); 

     TargetDataLine line = (TargetDataLine) AudioSystem.getLine(info); 
     line.open(); 

Однако, как только GetLine() вызывается, другие приложения не могут начать захватывать звук любого-больше.

Другой способ, getLine() не работает, если запущены другие приложения для захвата звука.

Как правило, я могу использовать звукозапись во время сеанса Skype, это означает, что захват звука не обязательно должен быть эксклюзивным.

Я бы хотел, чтобы мое приложение было не эксклюзивным. Я не хочу ограничивать пользователя тем, что он может с этим сделать.

В JavaSound API tutorial он читает:

Как правило, только один входной порт может быть открыт в то время, но аудио-вход смеситель, который смешивает аудио из нескольких портов также возможен.

Означает ли это, что JavaSound может захватывать только в эксклюзивном режиме или что сам JavaSound может обрабатывать только один входной порт?

Если первое верно, то кто-нибудь знает, как обойти эту проблему на Java?

ответ

Смежные вопросы