J'essaie d'utiliser le code this dans un projet Unity, mais il semble que les implémentations de COM Interop dans Mono/.NET diffèrent, ce qui provoque l'échec du code ou son blocage. L'exécution du code dans .NET fonctionne bien, mais l'exécuter avec Mono 2.0 (en dehors de Unity) échoue de la même manière que dans Unity, ce qui suggère que c'est un problème avec Mono en général et non avec Unity.COM Interop dans Mono 2.0
Si je compile et exécute le code tel quel, il échoue car le type cast de MMDeviceEnumerator à IIMMDeviceEnumerator échoue. Lorsque vous décorez toutes les interfaces avec [ComInterop], la distribution réussit, mais l'appel à GetDefaultAudioEndpoint bloque Unity/Mono avec une violation d'accès.
Il est difficile de trouver une bonne documentation de COM Interop sur Mono en général - et particulièrement en ce qui concerne une telle ancienne version. Est-il possible de faire fonctionner ça?
C'était exactement ce que j'ai fini par faire – Johan