programa interno de gravação de áudio

NOTA: Isso não é algo que usaria um microfone. Eu quero gravar áudio internamente.

Eu gostaria de escrever um programa em C # ou Java que grava dados de áudio enviados para os alto-falantes no meu computador. O produto final permitiria ao usuário apertar um botão “record”, e qualquer coisa que estivesse sendo tocada no momento seria gravada internamente até que o usuário apertasse o botão “stop”, ponto no qual todos os dados coletados são salvos em um arquivo de áudio como um wav, mp3, etc.

Eu tenho um MacBook Pro que executa o Windows 7 em paralelo. Eu tenho access a vários PCs, então também posso trabalhar em uma plataforma Windows pura. Idealmente, não importaria qual plataforma, no entanto.

Eu não tenho idéia de onde começar – o máximo que já fiz com a música é tocar um arquivo .wav em Java. Se alguém tiver algum conselho, referências, sugestões, preferências de tecnologia para qualquer idioma, etc., eu adoraria estar aqui!

O que você está tentando fazer é muito dependente do sistema operacional. Você precisaria escrever um programa que cria um dispositivo de saída de áudio falso para o qual o sistema operacional poderia enviar os sons. Em vez de reproduzir o áudio, você capturaria o stream de áudio quando o usuário acessasse “gravar” e parasse de capturar quando o usuário pressionasse “parar”. Então você precisaria codificar os dados de áudio capturados no formato de arquivo de som desejado (wav, mp3, etc.).

É possível fazer o que você está pedindo, mas é uma tarefa não trivial, já que você está interagindo com a camada de abstração de hardware de áudio do sistema operacional e com a codificação de áudio.

Para apontar para a direção certa, se você estiver indo para usar c #. Não há suporte para fazer isso no .NET framework, no entanto, você pode acessar a API do Windows a partir do .NET. Um bom ponto de partida é http://www.pinvoke.net . Você também encontrará o código para cada gravação de API em C #. Eu não tenho idéia de quais chamadas API você deve usar, mas se houver algum, em seguida, sair na API do Win32. Eu conheço um software que mede o que você tenta realizar. O nome do software é Spotify Ripper. Se você usar um software espião de API, poderá ver quais chamadas de API este software está usando!