Recupero dell'endpoint del dispositivo per l'instradamento del flusso
In Windows 7, le API della piattaforma di alto livello che usano LE API audio principali, ad esempio Media Foundation, DirectSound e Wave, implementano la funzionalità di routing del flusso gestendo il passaggio di flusso da un dispositivo esistente a un nuovo endpoint audio predefinito. Le applicazioni multimediali che usano queste API (ad esempio, un'applicazione che attiva un IDirectSound o oggetto IBaseFilter in un oggetto IMMDevice) usano il comportamento di routing del flusso senza alcuna modifica all'origine.
Le API di alto livello implementano il routing dei flussi per l'endpoint del dispositivo ottenuto tramite IMMDeviceEnumerator::GetDefaultAudioEndpoint. Se un'applicazione trasmette al dispositivo predefinito, la funzionalità di routing del flusso funziona come definito. I flussi non vengono passati al nuovo dispositivo se vengono recuperati da qualsiasi altro meccanismo anche se è uguale al dispositivo predefinito.
Un'applicazione multimediale che usa le API audio principali direttamente (client WASAPI) può fornire un'implementazione di routing del flusso personalizzata per qualsiasi dispositivo di rendering o acquisizione. Un client WASAPI può replicare l'implementazione fornita dalle API di alto livello limitandosi ai flussi aperti su dispositivi impostati come dispositivi predefiniti. Per ottenere un riferimento all'endpoint del dispositivo predefinito, il client deve chiamare IMMDeviceEnumerator::GetDefaultAudioEndpoint. In questa chiamata, il client deve indicare se richiede un puntatore al dispositivo predefinito per il rendering o al dispositivo predefinito di acquisizione specificando il parametro dataFlow. Il client deve inoltre specificare il ruolo appropriato per l'endpoint nell'attributo ERole (eConsole o eCommunications). Non usare eMultimedia.
Se l'applicazione esegue lo streaming in qualsiasi altro dispositivo, l'applicazione può ottenere il dispositivo specificando una stringa id endpoint (chiamando IMMDeviceEnumerator::GetDevice).
Dopo aver identificato il dispositivo, il client WASAPI può fornire l'implementazione per il routing del flusso gestendo le notifiche del dispositivo e della sessione audio inviate per il dispositivo. Per ulteriori informazioni su queste notifiche, vedere Notifiche rilevanti per il routing dei flussi.
Argomenti correlati