XAUDIO2_VOICE_STATE Struktur (xaudio2.h)
Gibt die aktuellen Status- und Cursorpositionsdaten der Stimme zurück.
Syntax
typedef struct XAUDIO2_VOICE_STATE {
void *pCurrentBufferContext;
UINT32 BuffersQueued;
UINT64 SamplesPlayed;
} XAUDIO2_VOICE_STATE;
Member
pCurrentBufferContext
Zeiger auf einen Pufferkontext, der in der derzeit verarbeiteten XAUDIO2_BUFFER oder, wenn die Stimme derzeit beendet wird, auf den nächsten Puffer, der verarbeitet werden soll. pCurrentBufferContext ist NULL, wenn keine Puffer in der Warteschlange vorhanden sind.
BuffersQueued
Die Anzahl der audiopuffer, die derzeit auf der Stimme in die Warteschlange gestellt wurden, einschließlich des derzeit verarbeiteten Audiopuffers.
SamplesPlayed
Die Gesamtzahl der von dieser Stimme verarbeiteten Beispiele seit dem letzten Start oder seit dem letzten Ende des Audiostreams (wie mit dem XAUDIO2_END_OF_STREAM Flag gekennzeichnet). Diese Summe umfasst Beispiele, die mehrmals aufgrund von Schleifen wiedergegeben werden. Theoretisch wäre dieser Parameter die Länge des Audiodatenstroms in Beispielen, wenn alle von der Stimme bis zu diesem Zeitpunkt ausgegebenen Audiodatenströme erfasst werden. Wenn Sie XAUDIO2_VOICE_NOSAMPLESPLAYED angeben, wenn Sie IXAudio2SourceVoice::GetState aufrufen, wird dieses Element nicht berechnet, und sein Wert wird nicht angegeben, wenn sie von IXAudio2SourceVoice::GetState zurückgegeben wird. IXAudio2SourceVoice::GetState benötigt etwa ein Drittel zeit, bis sie abgeschlossen werden, wenn Sie XAUDIO2_VOICE_NOSAMPLESPLAYED angeben.
Hinweise
Für alle codierten Formate, einschließlich konstanter Bitrate (CBR), wie z. B. adaptive Differenzielle Pulscodemodulation (ADPCM), wird SamplesPlayed in Bezug auf decodierte Beispiele ausgedrückt. Bei Pulscodemodulationsformaten (PCM) wird SamplesPlayed in Bezug auf Eingabe- oder Ausgabebeispiele ausgedrückt. Es gibt eine 1:1-Zuordnung von Eingaben zur Ausgabe für PCM-Formate.
Wenn ein Client die korrelierten Positionen mehrerer Stimmen abrufen muss – d. h. genau wissen, welches Beispiel einer bestimmten Stimme wiedergegeben wird, wenn ein bestimmtes Beispiel einer anderen Stimme wiedergegeben wird – muss die IXAudio2SourceVoice::GetState-Aufrufe in einem XAudio2-Modulrückruf erfolgen. Dadurch wird sichergestellt, dass keine der Stimmen vorangehen, während die Anrufe ausgeführt werden.
Plattformanforderungen
Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)Anforderungen
Header | xaudio2.h |