Compartilhar via


Método IAudioClock::GetFrequency (audioclient.h)

O método GetFrequency obtém a frequência do dispositivo.

Sintaxe

HRESULT GetFrequency(
  [out] UINT64 *pu64Frequency
);

Parâmetros

[out] pu64Frequency

Ponteiro para uma variável UINT64 na qual o método grava a frequência do dispositivo. Para obter mais informações, consulte Comentários.

Retornar valor

Se o método for bem-sucedido, retornará S_OK. Se falhar, os códigos de retorno possíveis incluem, mas não se limitam a, os valores mostrados na tabela a seguir.

Código de retorno Descrição
E_POINTER
O parâmetro pu64Frequency é NULL.
AUDCLNT_E_DEVICE_INVALIDATED
O dispositivo de ponto de extremidade de áudio foi desconectado ou o hardware de áudio ou os recursos de hardware associados foram reconfigurados, desabilitados, removidos ou indisponíveis para uso.
AUDCLNT_E_SERVICE_NOT_RUNNING
O serviço de áudio do Windows não está em execução.

Comentários

A frequência do dispositivo é a frequência gerada pelo relógio de hardware no dispositivo de áudio. Esse método relata a frequência do dispositivo em unidades compatíveis com as da posição do dispositivo que o método IAudioClock::GetPosition relata. Por exemplo, se, para um fluxo específico, o método GetPosition expressar a posição p como um deslocamento de bytes, o método GetFrequency expressará a frequência f em bytes por segundo. Para qualquer fluxo, o deslocamento em segundos a partir do início do fluxo sempre pode ser calculado de forma confiável como p/f , independentemente das unidades nas quais p e f são expressos.

No Windows Vista, a frequência do dispositivo relatada por chamadas sucessivas para GetFrequency nunca muda durante o tempo de vida de um fluxo.

Se o relógio gerado por um dispositivo de áudio for executado em uma frequência nominalmente constante, a frequência ainda poderá variar ligeiramente ao longo do tempo devido a descompasso ou tremulação em relação a um relógio de referência. O relógio de referência pode ser um relógio de parede ou o relógio do sistema usado pela função QueryPerformanceCounter . O método GetFrequency ignora essas variações e simplesmente relata uma frequência constante. No entanto, a posição relatada pelo método IAudioClient::GetPosition leva em conta todas essas variações para relatar um valor de posição preciso sempre que é chamado. Para obter mais informações sobre QueryPerformanceCounter, consulte a documentação do SDK do Windows.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho audioclient.h

Confira também

IAudioClock Interface

IAudioClock::GetPosition