IAudioClock2::GetDevicePosition-Methode (audioclient.h)
Die GetDevicePosition-Methode ruft die aktuelle Geräteposition in Frames direkt von der Hardware ab.
Syntax
HRESULT GetDevicePosition(
[out] UINT64 *DevicePosition,
[out] UINT64 *QPCPosition
);
Parameter
[out] DevicePosition
Empfängt die Geräteposition in Frames. Die empfangene Position ist ein nicht verarbeiteter Wert, den die Methode direkt von der Hardware abruft. Weitere Informationen finden Sie in den Hinweisen.
[out] QPCPosition
Empfängt den Wert des Leistungsindikators zu dem Zeitpunkt, zu dem das Audioendpunktgerät die im DevicePosition-Parameter als Reaktion auf den GetDevicePosition-Aufruf abgerufene Geräteposition liest.
GetDevicePosition konvertiert den Zählerwert in Zeiteinheiten von 100 Nanosekunden, bevor er in QPCPosition geschrieben wird.
QPCPosition kann NULL sein, wenn der Client den Leistungsindikatorwert nicht erfordert.
Weitere Informationen finden Sie in den Hinweisen.
Rückgabewert
Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben.
Rückgabecode | Beschreibung |
---|---|
|
Der Parameter DevicePosition ist NULL. |
|
Der Audioendpunkt wurde getrennt. |
|
Die IAudioClient::Start-Methode wurde für diesen Stream nicht aufgerufen. |
Hinweise
Diese Methode gilt nur für Datenströme im freigegebenen Modus.
Diese Methode ruft zwei korrelierte Datenstrompositionswerte ab:
- Geräteposition. Der Client ruft die nicht verarbeitete Geräteposition in DevicePosition ab. Dies ist die Streamposition des Beispiels, das derzeit über die Lautsprecher (für einen Renderingstream) wiedergegeben wird oder über das Mikrofon (für einen Aufzeichnungsstream) aufgezeichnet wird. Die Samplingrate des Geräteendpunkts kann sich von der Samplingrate des vom Client verwendeten Mixformats unterscheiden. Um die Geräteposition vom Client abzurufen, rufen Sie IAudioClock::GetPosition auf.
- Leistungsindikator. Der Client ruft den Leistungsindikator in QPCPosition ab. GetDevicePosition ruft den Zählerwert ab, indem die QueryPerformanceCounter-Funktion aufgerufen wird, wenn das Audioendpunktgerät die Streamposition im DevicePosition-Parameter der GetDevicePosition-Methode speichert. GetDevicePosition konvertiert den Zählerwert in Zeiteinheiten von 100 Nanosekunden. Weitere Informationen zu QueryPerformanceCounter und QueryPerformanceFrequency finden Sie in der Windows SDK-Dokumentation.
- Multiplizieren Sie den Rohindikatorwert mit 10.000.000.
- Dividieren Sie das Ergebnis durch die von QueryPerformanceFrequency abgerufene Zählerhäufigkeit.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | audioclient.h |