Question

Comment serait-il possible de capturer l'audio par programme? J'implémente une application qui diffuse en temps réel le poste de travail sur le réseau. La partie vidéo est terminée. Je dois implémenter la partie audio. J'ai besoin d'un moyen d'obtenir des données PCM de la carte son pour alimenter mon encodeur (implémenté à l'aide du format Windows Media).

Je pense que la réponse est liée aux fonctions waveInOpen () de openMixer () de l'API Win32, mais je ne suis pas sûr de ce que je devrais faire.

Comment ouvrir le canal nécessaire et comment en lire les données PCM?

Merci d'avance.

Était-ce utile?

La solution

Je ne pense pas qu'il existe un moyen direct de le faire en utilisant le système d'exploitation - c'est une fonctionnalité qui peut (ou peut ne pas être) être présente sur la carte son. Certaines cartes son ont une interface de bouclage - Creative l’appelle "What U Hear". Vous sélectionnez simplement cette entrée plutôt que le microphone et vous enregistrez à l'aide de la waveInOpen () normale que vous connaissez déjà.

Si la carte son ne dispose pas de cette fonctionnalité, je pense que vous n’êtes pas plus chanceux que de faire quelque chose de fou, comme créer votre propre pilote. Vous pouvez également convaincre vos utilisateurs de faire passer un câble de la sortie haut-parleur à l’entrée ligne:)

Autres conseils

Les nouvelles API Windows Vista Core Audio prennent explicitement en charge cet enregistrement (appelé enregistrement en boucle). Si vous pouvez vivre avec une application uniquement Vista, c'est la voie à suivre.

Consultez l'article Enregistrement en boucle sur MSDN. pour obtenir des instructions sur la procédure à suivre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top