struttura XAUDIO2_VOICE_STATE (xaudio2.h)
Restituisce i dati sullo stato corrente e sulla posizione del cursore della voce.
Sintassi
typedef struct XAUDIO2_VOICE_STATE {
void *pCurrentBufferContext;
UINT32 BuffersQueued;
UINT64 SamplesPlayed;
} XAUDIO2_VOICE_STATE;
Members
pCurrentBufferContext
Puntatore a un contesto del buffer fornito nel XAUDIO2_BUFFER elaborato attualmente oppure, se la voce è stata arrestata attualmente, al buffer successivo a causa dell'elaborazione. pCurrentBufferContext è NULL se nella coda non sono presenti buffer.
BuffersQueued
Numero di buffer audio attualmente accodati sulla voce, incluso quello attualmente elaborato.
SamplesPlayed
Numero totale di campioni elaborati da questa voce dall'ultimo avvio o dall'ultima fine dell'ultimo flusso audio (come contrassegnato con il flag XAUDIO2_END_OF_STREAM). Questo totale include campioni riprodotti più volte a causa del ciclo. In teoria, se tutta l'audio generato dalla voce fino a questo momento viene acquisito, questo parametro sarà la lunghezza del flusso audio negli esempi. Se specifichi XAUDIO2_VOICE_NOSAMPLESPLAYED quando chiami IXAudio2SourceVoice::GetState, questo membro non verrà calcolato e il relativo valore non viene specificato in caso di restituzione da IXAudio2SourceVoice::GetState. IXAudio2SourceVoice::GetState richiede circa un terzo del tempo necessario per il completamento quando si specifica XAUDIO2_VOICE_NOSAMPLESPLAYED.
Commenti
Per tutti i formati codificati, inclusi i formati CBR (Constant Bit Rate), ad esempio la modularità del codice differenziale differenziale (ADPCM), SamplesPlayed viene espresso in termini di campioni decodificati. Per i formati PCM (Pulse Code Modulation), SamplesPlayed è espresso in termini di campioni di input o output. Esiste un mapping uno-a-uno dall'input all'output per i formati PCM.
Se un client deve ottenere le posizioni correlate di diverse voci, ovvero sapere esattamente quale campione di una voce specifica viene riprodotto quando viene riprodotto un campione specificato di un'altra voce, deve eseguire le chiamate IXAudio2SourceVoice::GetState in un callback del motore XAudio2. In questo modo si garantisce che nessuna delle voci avanza mentre le chiamate vengono effettuate.
Requisiti della piattaforma
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)Requisiti
Intestazione | xaudio2.h |