2012-07-21 2 views
0

Comment détecter lorsqu'un périphérique audio a été branché et débranché à l'aide de C#?Comment détecter lorsqu'un périphérique audio a été branché et débranché?

+0

Qu'entendez-vous par "périphérique audio" et où est-il branché? casque dans chinch par exemple? –

+0

Ici, le dispositif audio signifie "prise audio" (c'est-à-dire les écouteurs et les haut-parleurs), j'insère la prise de mon casque et de mon haut-parleur dans mon système. – lokesh

Répondre

1

Votre meilleure approche est probablement WMI. Vous pouvez vous abonner à des événements WMI reflétant la création/destruction d'instances de la plupart des classes WMI. Une instance de Win32_SoundDevice existe pour chaque périphérique audio.

Si vous voulez des détails sur l'état d'un périphérique spécifique (sur les haut-parleurs, muet, ...), WMI ne semble pas l'inclure.

Vous aurez probablement besoin d'utiliser COM interop pour accéder au MMDevice API qui inclut la possibilité d'énumérer les périphériques "endpoint". Ce sera un travail difficile car il ne semble pas y avoir de typelib que vous pouvez importer, vous devrez plutôt écrire du C/C++ pour fournir un proxy ou recréer les interfaces COM nécessaires etc. dans .NET manuellement.

Questions connexes