Partager via


Obtention du point de terminaison d’appareil pour le routage de flux

Dans Windows 7, les API de plateforme de haut niveau qui utilisent les API Audio de base telles que Media Foundation, DirectSound et Wave, implémentent la fonctionnalité de routage de flux en gérant le basculement de flux d’un appareil existant vers un nouveau point de terminaison audio par défaut. Les applications multimédias qui utilisent ces API (par exemple, une application activant un objet IDirectSound ou IBaseFilter sur un objet IMMDevice ) utilisent le comportement de routage de flux sans aucune modification de la source.

Les API de haut niveau implémentent le routage de flux pour le point de terminaison de l’appareil obtenu via IMMDeviceEnumerator::GetDefaultAudioEndpoint. Si une application diffuse en continu vers l’appareil par défaut, la fonctionnalité de routage de flux fonctionne comme défini. Les flux ne sont pas basculés vers le nouvel appareil s’il est récupéré par un autre mécanisme, même s’il est identique à l’appareil par défaut.

Une application multimédia qui utilise directement les API Core Audio (client WASAPI) peut fournir une implémentation de routage de flux personnalisée pour n’importe quel appareil de rendu ou de capture. Un client WASAPI peut répliquer l’implémentation fournie par les API de haut niveau en le limitant aux flux ouverts sur les appareils définis comme appareil par défaut. Pour obtenir une référence au point de terminaison de l’appareil par défaut, le client doit appeler IMMDeviceEnumerator::GetDefaultAudioEndpoint. Dans cet appel, le client doit indiquer s’il nécessite un pointeur vers l’appareil de rendu par défaut ou l’appareil par défaut de capture en spécifiant le paramètre dataFlow . Le client doit également spécifier le rôle approprié pour le point de terminaison dans l’attribut ERole (eConsole ou eCommunications). N’utilisez pas eMultimedia.

Si l’application diffuse en continu vers un autre appareil, l’application peut obtenir l’appareil en spécifiant une chaîne d’ID de point de terminaison (en appelant IMMDeviceEnumerator::GetDevice).

Une fois l’appareil identifié, le client WASAPI peut fournir l’implémentation du routage de flux en gérant l’appareil et les notifications de session audio envoyées pour l’appareil. Pour plus d’informations sur ces notifications, consultez Notifications pertinentes pour le routage de flux.

À propos de l’API MMDevice

À propos de WASAPI

Routage de flux