Partager via


Utilisation des rôles d’appareil

L’API MMDevice prend en charge les rôles d’appareil. L’énumération ERole définit les rôles d’appareil pris en charge par l’API MMDevice.

Notes

Bien que l’API MMDevice prenne en charge les rôles d’appareil, l’interface utilisateur dans Windows Vista n’implémente pas la prise en charge de cette fonctionnalité.

 

Une application peut utiliser l’API MMDevice pour prendre en charge les rôles d’appareil via les méthodes IMMDeviceEnumerator::GetDefaultAudioEndpoint et IMMNotificationClient::OnDefaultDeviceChanged . Toutefois, l’interface utilisateur dans Windows Vista ne prend pas en charge l’attribution de rôles individuels à différents appareils. Dans Windows Vista, l’interface utilisateur permet à l’utilisateur de sélectionner un périphérique audio par défaut pour le rendu et un périphérique audio par défaut pour la capture. Lorsque l’utilisateur sélectionne un appareil de rendu ou de capture par défaut, le système attribue les trois rôles d’appareil (eConsole, eMultimedia et eCommunications) à cet appareil. Les applications ne peuvent pas modifier les rôles attribués aux appareils de point de terminaison audio. Le système d’exploitation permet uniquement à l’utilisateur d’attribuer des rôles d’appareil.

Un client peut s’inscrire pour recevoir une notification de l’API MMDevice chaque fois qu’une modification se produit dans l’attribution de rôles à des appareils de point de terminaison audio. Lorsqu’un rôle passe d’un appareil à un autre, le client peut choisir de continuer à lire (ou d’enregistrer) ses flux via le même appareil ou de basculer les flux vers un autre appareil. Par défaut, les flux continuent de lire (ou d’être enregistrés) via l’appareil d’origine. Dans Windows Vista, pour basculer les flux vers un autre appareil, le client doit supprimer les flux sur l’appareil d’origine et créer des flux de remplacement sur le nouvel appareil. Dans Windows 7, le client peut écouter les nouvelles notifications pour implémenter un commutateur transparent sans interrompre la lecture ou la session de capture. Pour plus d’informations, consultez Routage de flux.

Si vous envisagez d’utiliser Windows Vista pour tester votre application, vous pouvez configurer un environnement de test pour vérifier que l’application se comporte comme prévu lorsque l’utilisateur peut attribuer des rôles d’appareil individuels à différents appareils. Pour plus d‘informations, envoyez un e-mail à uaa@microsoft.com.

Appareils de communication

L’interface utilisateur de Windows 7 a la possibilité d’ajouter des appareils de communication. Le panneau de configuration Son permet à l’utilisateur de sélectionner un périphérique de communication par défaut pour le rendu et la capture du flux audio. Par défaut, lorsqu’un nouvel appareil est connecté à l’ordinateur, le système d’exploitation détecte automatiquement le rôle et détermine si l’appareil convient au rôle eCommunication. En ciblant les appareils de communication, vous pouvez développer des applications qui utilisent les API Core Audio pour implémenter des solutions de communication pc-téléphone. Par exemple, une application VoIP peut affecter ses flux d’entrée et de sortie vocales aux appareils de point de terminaison de capture et de rendu par défaut avec le rôle eCommunications. Comme tout autre flux, une application de communication doit obtenir une référence au point de terminaison de l’appareil de communication en appelant IMMDeviceEnumerator::GetDefaultAudioEndpoint. Dans cet appel, l’application doit spécifier des eCommunications dans le paramètre Role . Les opérations de flux WASAPI sur un flux ouvert sur un appareil de communication sont similaires à tout autre flux audio. L’application de communication peut améliorer l’expérience utilisateur en implémentant des comportements tels que le canardage en gérant les notifications à partir du point de terminaison de l’appareil. Pour plus d’informations, consultez Utilisation d’un appareil de communication.

Détection automatique des rôles d’appareil

Envisagez un scénario dans lequel un ordinateur dispose d’un périphérique de rendu par défaut, des haut-parleurs et d’un périphérique de capture par défaut, un microphone. L’utilisateur connecte un casque USB à l’ordinateur. Une fois les pilotes appropriés installés, le système d’exploitation tente de détecter un rôle à attribuer pour le nouveau périphérique audio.

Dans Windows 7, la fonctionnalité de détection des rôles d’appareil a été considérablement améliorée pour déterminer les rôles appropriés pour les appareils audio. Tous les appareils audio contiennent un ensemble de paramètres de configuration renseignés par l’oem de l’appareil, qui aident le système à décider de l’utilisation de l’appareil. Ces paramètres incluent des informations telles que l’emplacement physique de la prise audio du type d’appareil, le sous-type jack et les fonctionnalités de détection afin que le système puisse déterminer si l’appareil est branché. En récupérant ces valeurs à partir de l’appareil, le système d’exploitation détermine le rôle à attribuer à l’appareil. Dans ce scénario, le système a interrogé le périphérique de casque USB, effectué la détection automatique du rôle et décidé que l’appareil est le mieux adapté pour être un appareil de communication.

Une application peut également obtenir des informations jack à l’aide des API Core Audio. Pour plus d’informations, consultez IKsJackDescription et IKsJackDescription2.

Rôles d’appareil