Método IAudioClock2::GetDevicePosition (audioclient.h)
O método GetDevicePosition obtém a posição atual do dispositivo, em quadros, diretamente do hardware.
Sintaxe
HRESULT GetDevicePosition(
[out] UINT64 *DevicePosition,
[out] UINT64 *QPCPosition
);
Parâmetros
[out] DevicePosition
Recebe a posição do dispositivo, em quadros. A posição recebida é um valor não processado que o método obtém diretamente do hardware. Para obter mais informações, consulte Comentários.
[out] QPCPosition
Recebe o valor do contador de desempenho no momento em que o dispositivo de ponto de extremidade de áudio lê a posição do dispositivo recuperada no parâmetro DevicePosition em resposta à chamada GetDevicePosition .
GetDevicePosition converte o valor do contador em unidades de tempo de 100 nanossegundos antes de escrevê-lo em QPCPosition.
QPCPosition poderá ser NULL se o cliente não exigir o valor do contador de desempenho.
Para obter mais informações, consulte Comentários.
Retornar valor
Se o método for bem-sucedido, retornará S_OK.
Código de retorno | Descrição |
---|---|
|
O parâmetro DevicePosition é NULL. |
|
O ponto de extremidade de áudio foi desconectado. |
|
O método IAudioClient::Start não foi chamado para esse fluxo. |
Comentários
Esse método só se aplica a fluxos de modo compartilhado.
Esse método recupera dois valores de posição de fluxo correlacionados:
- Posição do dispositivo. O cliente recupera a posição do dispositivo não processado em DevicePosition. Essa é a posição de fluxo do exemplo que está sendo reproduzido nos alto-falantes (para um fluxo de renderização) ou sendo gravado por meio do microfone (para um fluxo de captura). A taxa de amostragem do ponto de extremidade do dispositivo pode ser diferente da taxa de amostragem do formato de combinação usado pelo cliente. Para recuperar a posição do dispositivo do cliente, chame IAudioClock::GetPosition.
- Contador de desempenho. O cliente recupera o contador de desempenho em QPCPosition. GetDevicePosition obtém o valor do contador chamando a função QueryPerformanceCounter no momento em que o dispositivo de ponto de extremidade de áudio armazena a posição de fluxo no parâmetro DevicePosition do método GetDevicePosition . GetDevicePosition converte o valor do contador em unidades de tempo de 100 nanossegundos. Para obter mais informações sobre QueryPerformanceCounter e QueryPerformanceFrequency, consulte a documentação do SDK do Windows.
- Multiplique o valor bruto do contador por 10.000.000.
- Divida o resultado pela frequência de contador obtida de QueryPerformanceFrequency.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | audioclient.h |