Share via


costanti AUDCLNT_STREAMFLAGS_XXX

Specifica le caratteristiche che un client può assegnare a un flusso audio durante l'inizializzazione del flusso.

Costante/valore Descrizione
AUDCLNT_STREAMFLAGS_CROSSPROCESS
0x00010000
Il flusso audio sarà membro di una sessione audio tra processi. Per altre informazioni, vedere la sezione Osservazioni.
AUDCLNT_STREAMFLAGS_LOOPBACK
0x00020000
Il flusso audio funzionerà in modalità loopback. Per altre informazioni, vedere la sezione Osservazioni.
AUDCLNT_STREAMFLAGS_EVENTCALLBACK
0x00040000
L'elaborazione del buffer audio dal client verrà guidata dall'evento. Per altre informazioni, vedere la sezione Osservazioni.
AUDCLNT_STREAMFLAGS_NOPERSIST
0x00080000
Le impostazioni del volume e della disattivazione per una sessione audio non verranno mantenute tra i riavvii dell'applicazione. Per altre informazioni, vedere la sezione Osservazioni.
AUDCLNT_STREAMFLAGS_RATEADJUST
0x00100000
Questa costante è nuova in Windows 7. La frequenza di esempio del flusso viene modificata a una frequenza specificata da un'applicazione. Per altre informazioni, vedere la sezione Osservazioni.
AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM
0x80000000
Un matrixer del canale e un convertitore di frequenza di esempio vengono inseriti in base alle esigenze per convertire tra il formato non compresso fornito in IAudioClient::Initialize e il formato mix del motore audio.
AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY
0x08000000
Se usato con AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM, viene usato un convertitore di frequenza di esempio con qualità migliore rispetto alla conversione predefinita, ma con un costo di prestazioni superiore. Questo deve essere usato se l'audio è in definitiva destinato a essere sentito dagli esseri umani anziché da altri scenari, ad esempio pompando il silenzio o popolando un contatore.

Commenti

Il metodo IAudioClient::Initialize e la struttura DIRECTX_AUDIO_ACTIVATION_PARAMS usano le costanti AUDCLNT_STREAMFLAGS_XXX .

Il flag AUDCLNT_STREAMFLAGS_CROSSPROCESS indica che la sessione audio per il flusso è una sessione tra processi. Una sessione tra processi può accettare flussi da più processi. Se due applicazioni in due processi separati chiamano IAudioClient::Initialize con GUID di sessione identiche e entrambe le applicazioni impostano il flag di AUDCLNT_SHAREMODE_CROSSPROCESS, il motore audio assegna i flussi alla stessa sessione tra processi. Questo flag esegue l'override del comportamento predefinito, che consiste nell'assegnare il flusso a una sessione specifica del processo anziché a una sessione tra processi. Il bit AUDCLNT_STREAMFLAGS_CROSSPROCESS flag non è compatibile con la modalità esclusiva. Per altre informazioni sulle sessioni tra processi, vedere Sessioni audio.

Il flag AUDCLNT_STREAMFLAGS_LOOPBACK abilita la registrazione del loopback. Nella registrazione del loopback il motore audio copia il flusso audio riprodotto da un dispositivo endpoint di rendering in un buffer di endpoint audio in modo che un client WASAPI possa acquisire il flusso. Se questo flag è impostato, il metodo IAudioClient::Initialize tenta di aprire un buffer di acquisizione nel dispositivo di rendering. Questo flag è valido solo per un dispositivo di rendering e solo se la chiamata Initialize imposta il parametro ShareMode su AUDCLNT_SHAREMODE_SHARED. In caso contrario, la chiamata Inizializza avrà esito negativo. Se la chiamata ha esito positivo, il client può chiamare il metodo IAudioClient::GetService per ottenere un'interfaccia IAudioCaptureClient nel dispositivo di rendering. Per altre informazioni, vedere Registrazione cicloback.

Il flag AUDCLNT_STREAMFLAGS_EVENTCALLBACK abilita il buffer basato su eventi. Se un client imposta questo flag nella chiamata a IAudioClient::Initialize che inizializza un flusso, il client deve successivamente chiamare il metodo IAudioClient::SetEventHandle per fornire un handle eventi per il flusso. Dopo l'avvio del flusso, il motore audio segnalerà l'handle dell'evento per notificare al client ogni volta che un buffer diventa pronto per l'elaborazione del client. WASAPI supporta il buffer basato su eventi sia per il rendering che per i buffer di acquisizione. Entrambi i flussi in modalità condivisa ed esclusiva possono usare il buffer basato su eventi. Per un esempio di codice che usa il flag AUDCLNT_STREAMFLAGS_EVENTCALLBACK, vedere Flussi in modalità esclusiva.

Il flag AUDCLNT_STREAMFLAGS_NOPERSIST disabilita la persistenza del volume e disattiva le impostazioni per una sessione che contiene flussi di rendering. Per impostazione predefinita, il livello del volume e lo stato di modifica per una sessione di rendering sono persistenti tra i riavvii dell'applicazione. Il livello del volume e lo stato di modifica per una sessione di acquisizione non sono mai persistenti. Per altre informazioni sulla persistenza del volume di sessione e sulle impostazioni di disattivazione, vedere Sessioni audio.

Il flag AUDCLNT_STREAMFLAGS_RATEADJUST consente a un'applicazione di ottenere un riferimento all'interfaccia IAudioClockAdjustment usata per impostare la frequenza di esempio per il flusso. Per ottenere un puntatore a questa interace, un'applicazione deve inizializzare il client audio con questo flag e quindi chiamare IAudioClient::GetService specificando l'identificatore di IID_IAudioClockAdjustment . Per impostare la nuova frequenza di esempio, chiamare IAudioClockAdjustment::SetSampleRate. Questo flag è valido solo per un dispositivo di rendering. In caso contrario, la chiamata GetService non riesce con il codice di errore AUDCLNT_E_WRONG_ENDPOINT_TYPE. L'applicazione deve anche impostare il parametro ShareMode su AUDCLNT_SHAREMODE_SHARED durante la chiamata Inizializza . SetSampleRate ha esito negativo se il client audio non è in modalità condivisa.

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista [app desktop | App UWP]
Server minimo supportato
Windows Server 2008 [app desktop | App UWP]
Intestazione
Audiosessiontypes.h

Vedi anche

Costanti audio principali

Interfaccia IAudioCaptureClient

IAudioClient::GetService

IAudioClient::Initialize

IAudioClient::SetEventHandle