Condividi tramite


Metodo IAudioClient::GetStreamLatency (audioclient.h)

Il metodo GetStreamLatency recupera la latenza massima per il flusso corrente e può essere chiamata in qualsiasi momento dopo l'inizializzazione del flusso.

Sintassi

HRESULT GetStreamLatency(
  [out] REFERENCE_TIME *phnsLatency
);

Parametri

[out] phnsLatency

Puntatore a una variabile REFERENCE_TIME in cui il metodo scrive un valore di ora che rappresenta la latenza. Il tempo è espresso in unità da 100 nanosecondi. Per altre informazioni sulle REFERENCE_TIME, vedere la documentazione di Windows SDK.

Valore restituito

Se il metodo ha esito positivo, restituisce S_OK. Se ha esito negativo, i possibili codici restituiti includono, ma non sono limitati, i valori illustrati nella tabella seguente.

Codice restituito Description
AUDCLNT_E_NOT_INITIALIZED
Il flusso audio non è stato inizializzato correttamente.
AUDCLNT_E_DEVICE_INVALIDATED
AUDCLNT_E_RESOURCES_INVALIDATED
Le risorse del flusso sono state invalidate. Questo errore può essere generato per i motivi seguenti:
- Il flusso è sospeso.
- Un flusso esclusivo o offload viene disconnesso.
- Un'applicazione in pacchetto che ha una modalità esclusiva o un flusso di offload è inattiva.
- Un flusso di "output protetto" viene chiuso.
Il dispositivo endpoint audio è stato scollegato oppure l'hardware audio o le risorse hardware associate sono state riconfigurate, disabilitate, rimosse o altrimenti rese non disponibili per l'uso.
AUDCLNT_E_SERVICE_NOT_RUNNING
Il servizio audio windows non è in esecuzione.
E_POINTER
Il parametro phnsLatency è NULL.

Osservazioni:

Questo metodo richiede l'inizializzazione precedente dell'interfaccia IAudioClient . Tutte le chiamate a questo metodo avranno esito negativo con l'errore AUDCLNT_E_NOT_INITIALIZED finché il client non inizializza il flusso audio chiamando correttamente il metodo IAudioClient::Initialize .

Questo metodo recupera la latenza massima per il flusso corrente. Il valore non cambierà per la durata dell'oggetto IAudioClient .

I client di rendering possono usare questo valore di latenza per calcolare la quantità minima di dati che possono scrivere durante qualsiasi singolo passaggio di elaborazione. Per scrivere meno di questo minimo è quello di rischiare di introdurre glitch nel flusso audio. Per altre informazioni, vedere IAudioRenderClient::GetBuffer.

Requisiti

Requisito Value
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Header audioclient.h

Vedere anche

Interfaccia IAudioClient

IAudioClient::Initialize

IAudioRenderClient::GetBuffer