Hello happy tax payers !
Salut, joyeux confinés ! (Que chacun choisisse ce qu'il préfère.)
Je suis en train de m'amuser à développer un programme qui va (je n'en doute pas un instant) afficher à l'écran la forme d'onde issue d'un microphone, et je me pose des questions, car j'ai du mal à comprendre la doc fournie par Microsoft dans "Managing Waveform-Audio Recording".
J'ai bien compris l'utilisation des différentes structures impliquées dans cette affaire, et j'ai bien vu qu'il allait falloir appeler successivement les points d'entrée waveInOpen, waveInStart, et, à un certain moment, WaveInReset et waveInClose. J'ai bien compris aussi qu'on pouvait utiliser plusieurs buffers.
Mais c'est ici que je pose ma question : je désire être "au plus près" du temps réel, c'est à dire que quand un son arrive sur le micro, je veux que ça se voie à l'écran (s'il y a un délai d'une milliseconde, ça va...). Dans ces conditions, je pourrais marcher avec un seul buffer (et faire mon affaire du retour à la ligne de l'image du signal), mais la doc de µ$ parle de "buffer returned to application". Est-ce que cela veut dire que pendant que les drivers audio échantillonnent le signal du micro et remplissent le buffer (je suppose là bas, dans leur thread), moi, dans mon application, je n'ai pas accès à ce buffer ? En d'autres termes, avec cette api là, le temps réel ne serait pas possible ?
J'espère que ma question est assez bien posée pour que ceux qui ont déjà touché à ces domaines la comprennent.
Merci d'avance à qui voudra bien éclairer ma lanterne.
AMIcalement.
Partager