Capturar/gravar audio/som (input & output) do computador

Pessoal. Achei que seria algo simples de fazer com Java.
Já criei sistema que captura a webcam usando JMF para e conseguir tratar e gerar imagens em tempo real alterando a saída na tela, porém JMF está defasada.
Assim acreditei que seria algo trivial usar alguma classe ou API Java para reconhecer qualquer áudio do computador.

Preciso capturar tanto o som do microfone quanto o que está saindo… Qualquer som que esteja transitando no computador.
Comecei a estudar DirectShow Java, porém é limitada ao Windows e tem que colocar DLL aqui e acolá.
Usei a AudioInputStream (java.io) e só consegui fazer tocar um WAV! E nem consegui fazer ela parar de tocar o WAV, tem que esperar terminar de tocar até o final.

Não existe nenhuma forma natural de fazer isso?
Gravar todo áudio do computador (entrada e saída)?

Alguém por favor me indique alguma nova API, ou algum código de exemplo.
Obrigado.