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.
Comentários
Essa estrutura é usada para obter e definir o valor de dados para a propriedade KSPROPERTY_AUDIO_POSITION .
Para um buffer de cliente em loop (com tipo de fluxo KSINTERFACE_STANDARD_LOOPED_STREAMING), PlayOffset e WriteOffset são deslocamentos de bytes para o buffer do cliente. Quando qualquer deslocamento 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 comloop (com o tipo de fluxo KSINTERFACE_STANDARD_STREAMING), PlayOffset e WriteOffset não são deslocados para um buffer físico alocado pelo driver ou um cliente. 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 PlayOffset e WriteOffset são interpretados da seguinte maneira:
- 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 PlayOffset e WriteOffset são interpretados da seguinte maneira:
- 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 PlayOffset e WriteOffset é considerado fora dos limites para o cliente porque representa a parte do buffer do cliente que já foi enviada para o driver e ainda pode estar em uso pelo driver.
Para obter mais informações, consulte Propriedade Audio Position.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | ksmedia.h (inclua Ksmedia.h) |
Confira também
KSINTERFACE_STANDARD_LOOPED_STREAMING