2010-08-18 16 views
4

REMARQUE: ce n'est pas quelque chose qui utiliserait un micro. Je veux enregistrer l'audio en interne.programme d'enregistrement audio interne

Je voudrais écrire un programme en C# ou Java qui enregistre les données audio envoyées aux enceintes de mon ordinateur. Le produit final permettrait à l'utilisateur d'appuyer sur un bouton «enregistrer», et tout ce qui est joué à ce moment serait enregistré en interne jusqu'à ce que l'utilisateur appuie sur le bouton «stop», toutes les données collectées étant sauvegardées dans un fichier audio comme wav, mp3, etc.

J'ai un MacBook Pro qui fonctionne sous Windows 7 en parallèle. J'ai accès à plusieurs PC, donc je peux aussi travailler sur une plate-forme Windows pure. Idéalement, cela n'aurait aucune importance quelle plate-forme, cependant. Je n'ai aucune idée par où commencer - le plus que j'ai jamais fait avec de la musique est de lire un fichier .wav en Java. Si quelqu'un a des conseils, des références, des suggestions, des préférences technologiques pour l'une ou l'autre langue, etc., j'aimerais le faire!

Répondre

2

Ce que vous essayez de faire dépend du système d'exploitation. Vous auriez besoin d'écrire un programme qui crée un faux périphérique de sortie audio auquel le système d'exploitation pourrait envoyer les sons. Au lieu de lire l'audio, vous capturerez le flux audio une fois que l'utilisateur a atteint "enregistrement" et arrêtera de capturer lorsque l'utilisateur clique sur "arrêter". Ensuite, vous devrez encoder les données audio capturées dans le format de fichier sonore souhaité (wav, mp3, etc.).

Il est possible de faire ce que vous demandez, mais c'est une tâche non triviale puisque vous êtes en interface avec la couche d'abstraction du matériel audio du système d'exploitation et l'encodage audio.

0

Pour vous diriger vers la bonne direction si vous allez utiliser C#. Il n'existe aucun support pour cela dans le framework .NET, mais vous pouvez accéder à l'API Windows depuis .NET. Un bon point de départ est http://www.pinvoke.net. Vous trouverez également le code de chaque API écrit en C#. Je n'ai aucune idée des API que vous devriez utiliser, mais s'il y en a, alors il sortira dans l'API Win32. Je connais un logiciel qui dose ce que vous essayez d'accomplir. Le nom du logiciel est Spotify Ripper. Si vous utilisez un logiciel d'espionnage API, vous pourrez voir quels appels d'API ce logiciel utilise!