estructura XAUDIO2_VOICE_STATE (xaudio2.h)
Devuelve el estado actual de la voz y los datos de posición del cursor.
Sintaxis
typedef struct XAUDIO2_VOICE_STATE {
void *pCurrentBufferContext;
UINT32 BuffersQueued;
UINT64 SamplesPlayed;
} XAUDIO2_VOICE_STATE;
Miembros
pCurrentBufferContext
Puntero a un contexto de búfer proporcionado en el XAUDIO2_BUFFER que se procesa actualmente o, si la voz se detiene actualmente, al siguiente búfer debido a su procesamiento. pCurrentBufferContext es NULL si no hay búferes en la cola.
BuffersQueued
Número de búferes de audio actualmente en cola en la voz, incluido el que se procesa actualmente.
SamplesPlayed
Número total de muestras procesadas por esta voz desde que se inició por última vez, o desde que finalizó la última secuencia de audio (como se marcó con la marca XAUDIO2_END_OF_STREAM). Este total incluye muestras reproducidas varias veces debido al bucle. Teóricamente, si se captura todo el audio emitido por la voz hasta este momento, este parámetro sería la longitud de la secuencia de audio en muestras. Si especifica XAUDIO2_VOICE_NOSAMPLESPLAYED al llamar a IXAudio2SourceVoice::GetState, este miembro no se calculará y su valor no se especificará a partir de IXAudio2SourceVoice::GetState. IXAudio2SourceVoice::GetState tarda aproximadamente un tercio en completarse al especificar XAUDIO2_VOICE_NOSAMPLESPLAYED.
Observaciones
Para todos los formatos codificados, incluidos los formatos de velocidad de bits constante (CBR), como la modulación de código de pulso diferencial adaptable (ADPCM), SamplesPlayed se expresa en términos de muestras descodificadas. Para los formatos de modulación de código de pulso (PCM), SamplesPlayed se expresa en términos de muestras de entrada o salida. Hay una asignación uno a uno de la entrada a la salida para los formatos PCM.
Si un cliente necesita obtener las posiciones correlacionadas de varias voces (es decir, saber exactamente qué muestra de una voz determinada se está reproduciendo cuando se reproduce una muestra especificada de otra voz), debe hacer que las llamadas IXAudio2SourceVoice::GetState en una devolución de llamada del motor XAudio2. Esto garantiza que ninguna de las voces avance mientras se realizan las llamadas.
Requisitos de la plataforma
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); SDK de DirectX (XAudio 2.7)Requisitos
Encabezado | xaudio2.h |