Comment obtenir une liste de tous les périphériques d'enregistrement sur un ordinateur à l'aide de NAudio? Quand vous voulez enregistrer, vous devez lui donner l'index de l'appareil que vous voulez utiliser, mais il n'y a aucun moyen de savoir de quel périphérique il s'agit. J'aimerais pouvoir sélectionner parmi Mic, Stereo Mix, etc.Énumérer les périphériques d'enregistrement dans NAudio
4
A
Répondre
15
Pour WaveIn, vous pouvez utiliser la méthode statique WaveIn.GetCapabilities. Cela vous donnera un nom de périphérique, mais avec la limite ennuyeuse qu'il est un maximum de 31 caractères. Je cherche toujours le moyen d'obtenir le nom complet (voir ma question here).
int waveInDevices = WaveIn.DeviceCount;
for (int waveInDevice = 0; waveInDevice < waveInDevices; waveInDevice++)
{
WaveInCapabilities deviceInfo = WaveIn.GetCapabilities(waveInDevice);
Console.WriteLine("Device {0}: {1}, {2} channels", waveInDevice, deviceInfo.ProductName, deviceInfo.Channels);
}
Pour WASAPI (Vista et ci-dessus), vous pouvez utiliser le MMDeviceEnumerator:
MMDeviceEnumerator enumerator = new MMDeviceEnumerator();
foreach (MMDevice device in enumerator.EnumerateAudioEndPoints(DataFlow.Capture, DeviceState.All))
{
Console.WriteLine("{0}, {1}", device.FriendlyName, device.State);
}
J'ai tendance à recommander WaveIn, car il est plus largement pris en charge, et permet une plus grande flexibilité sur les taux d'échantillonnage d'enregistrement.
Questions connexes
- 1. Comment énumérer les équipements périphériques audio en C#
- 2. Énumérer les fonctions DLL?
- 3. Énumérer les clés dans Amazon SimpleDB
- 4. Comment énumérer les disques durs
- 5. Énumérer les arbres de recherche
- 6. Qu'est-ce qui détermine l'ordre des périphériques audio dans Windows lors de l'utilisation winmm.dll?
- 7. Premiers pas avec les périphériques SideShow
- 8. Vous voulez énumérer les dossiers Outlook
- 9. Java: périphériques système
- 10. Comment énumérer les éléments indexés (xsl: key)?
- 11. énumérer les processus et leurs connexions
- 12. Utilisation de périphériques USB dans .NET
- 13. svnkit: comment énumérer les dépôts svn dans un répertoire racine?
- 14. Comment puis-je énumérer tous les fuseaux horaires dans .NET?
- 15. Extensibilité Visual Studio, Comment énumérer les projets dans une solution?
- 16. Énumérer les fichiers sensibles à la casse dans VBScript?
- 17. Comment énumérer toutes les variables définies dans un script groovy
- 18. Énumérer les tables utilisées dans la requête mysql?
- 19. Vertices et périphériques perdus
- 20. Comment fonctionnent les contextes OpenGL et les contextes de périphériques?
- 21. Périphériques MiniUPnP et UPnP
- 22. QTKit, ouverture des périphériques d'entrée?
- 23. DirectShow: ieee1394id <- cela décrit-il aussi les périphériques USB?
- 24. détecter les périphériques Errored sous Windows XP avec C#/Pinvoke
- 25. Piratage de périphériques USB: Tous les programmes disponibles?
- 26. énumérer à travers tous IEnumerables
- 27. Comment énumérer les noms de colonnes avec NHibernate?
- 28. sql server énumérer les variables de session en cours
- 29. Comment énumérer et initialiser les beans au printemps/jsf
- 30. Comment énumérer toutes les classes avec l'attribut de classe personnalisée?