Partager via


Gestion de l’enregistrement Waveform-Audio

[La fonctionnalité associée à cette page, Waveform Audio, est une fonctionnalité héritée. Il a été remplacé par WASAPI et Audio Graphs. Les graphiques WASAPI et Audio ont été optimisés pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise WASAPI et Audio Graphs au lieu de l’audio waveform, si possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

Après avoir ouvert un périphérique d’entrée audio de forme d’onde, vous pouvez commencer à enregistrer les données audio de forme d’onde. Les données waveform-audio sont enregistrées dans des mémoires tampons fournies par l’application spécifiées par une structure WAVEHDR . Ces blocs de données doivent être préparés avant d’être utilisés ; Pour plus d’informations, consultez Blocs de données audio.

Windows fournit les fonctions suivantes pour gérer l’enregistrement audio de forme d’onde.

Fonction Description
waveInAddBuffer Envoie une mémoire tampon au pilote de périphérique afin qu’elle puisse être remplie avec des données audio de forme d’onde enregistrées.
waveInReset Arrête l’enregistrement audio de forme d’onde et marque toutes les mémoires tampons en attente comme terminées.
waveInStart Démarre l’enregistrement audio de forme d’onde.
waveInStop Arrête l’enregistrement audio de forme d’onde.

 

Utilisez la fonction waveInAddBuffer pour envoyer des mémoires tampons au pilote de périphérique. À mesure que les mémoires tampons sont remplies avec des données audio de forme d’onde enregistrées, l’application est avertie avec un message de fenêtre, un message de rappel, un message de thread ou un événement, en fonction de l’indicateur spécifié lors de l’ouverture de l’appareil.

Avant de commencer l’enregistrement à l’aide de waveInStart, vous devez envoyer au moins une mémoire tampon au pilote, sinon les données entrantes peuvent être perdues.

Avant de fermer l’appareil à l’aide de waveInClose, appelez waveInReset pour marquer les blocs de données en attente comme étant terminés.

Enregistrement de l’audio waveform