2017-08-07 2 views
0

Je suis en train de développer une application de télémétrie où je pulse un son puis j'attends son enregistrement pour calculer sa distance. Naturellement, cela nécessite un timing très sensible. En utilisant les bibliothèques NAudio dans une application Windows, j'ai pu tout faire fonctionner mais il y a un délai d'environ 70 ms. Quel est vraiment le problème est que ce retard n'est pas cohérent, donc je ne peux pas le calibrer. Je cherche soit à éliminer le retard ou le rendre cohérent afin que je puisse l'éliminer. Peut-être exécuter l'enregistrement et la lecture dans des fils séparés?NAudio: synchronisation des temps d'enregistrement et de lecture

Répondre

1

Il existe des moyens d'obtenir des informations de synchronisation plus précises à partir des API waveIn/waveOut en utilisant waveOutGetPosition par exemple, que NAudio enveloppe avec l'interface IWavePosition. Mais pour votre usage, si vous pouvez utiliser ASIO, la vie sera beaucoup plus facile puisque vous avez un seul rappel pour l'enregistrement et le tampon de lecture en même temps et donc il n'y a pas de risque de dérive.