estrutura KSAUDIO_POSITION (ksmedia.h)
A estrutura KSAUDIO_POSITION especifica as posições atuais dos cursores de reprodução e gravação no buffer de som para um fluxo de áudio.
Sintaxe
typedef struct {
#if ...
ULONGLONG PlayOffset;
#if ...
ULONGLONG WriteOffset;
#else
DWORDLONG PlayOffset;
#endif
#else
DWORDLONG WriteOffset;
#endif
} KSAUDIO_POSITION, *PKSAUDIO_POSITION;
Membros
PlayOffset
Especifica a posição de jogo atual como um deslocamento de bytes.
WriteOffset
Especifica a posição de gravação atual como um deslocamento de bytes.
Observações
Essa estrutura é usada para obter e definir o valor dos dados para a propriedade KSPROPERTY_AUDIO_POSITION.
Para um buffer de cliente em loop (com KSINTERFACE_STANDARD_LOOPED_STREAMINGde tipo de fluxo), do PlayOffset e WriteOffset são deslocamentos de bytes para o buffer do cliente. Quando um dos deslocamentos atinge o final do buffer, ele é encapsulado até o início do buffer. Portanto, nenhum deslocamento excede o tamanho do buffer.
Para um buffer de cliente não acamado (com KSINTERFACE_STANDARD_STREAMINGde tipo de fluxo), do PlayOffset e WriteOffset não são deslocados para nenhum buffer físico que o driver alocou ou um cliente alocou. Em vez disso, esses deslocamentos são relativos ao fluxo e podem ser considerados como deslocamentos para um buffer idealizado que contém todo o fluxo e é contíguo do início ao fim. Quaisquer deslocamentos internos que apontem para os buffers físicos reais que contêm os dados precisam ser mantidos separadamente.
Durante a reprodução, os valores do PlayOffset e WriteOffset são interpretados da seguinte maneira:
- do PlayOffset é o deslocamento do último byte no buffer que foi reproduzido. PlayOffset + 1 é o deslocamento do próximo byte que será reproduzido.
- WriteOffset é o deslocamento do último byte no buffer de reprodução.
Durante a gravação, os valores do PlayOffset e WriteOffset são interpretados da seguinte maneira:
- do PlayOffset é o deslocamento do último byte no buffer que foi capturado. PlayOffset + 1 é o deslocamento do próximo byte que será capturado.
- WriteOffset é o deslocamento do último byte no buffer de captura.
O espaço entre do PlayOffset e WriteOffset é considerado fora dos limites para o cliente porque representa a parte do buffer do cliente que já foi enviada ao driver e ainda pode estar em uso pelo driver.
Para obter mais informações, consulte de propriedade de posição de áudio.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | ksmedia.h (inclua Ksmedia.h) |
Consulte também
KSINTERFACE_STANDARD_LOOPED_STREAMING