estructura KSAUDIO_POSITION (ksmedia.h)
La estructura KSAUDIO_POSITION especifica las posiciones actuales de los cursores de reproducción y escritura en el búfer de sonido para una secuencia de audio.
Sintaxis
typedef struct {
#if ...
ULONGLONG PlayOffset;
#if ...
ULONGLONG WriteOffset;
#else
DWORDLONG PlayOffset;
#endif
#else
DWORDLONG WriteOffset;
#endif
} KSAUDIO_POSITION, *PKSAUDIO_POSITION;
Miembros
PlayOffset
Especifica la posición de juego actual como desplazamiento de bytes.
WriteOffset
Especifica la posición de escritura actual como desplazamiento de bytes.
Comentarios
Esta estructura se usa para obtener y establecer el valor de datos de la propiedad KSPROPERTY_AUDIO_POSITION .
Para un búfer de cliente en bucle (con el tipo de secuencia KSINTERFACE_STANDARD_LOOPED_STREAMING), PlayOffset y WriteOffset son desplazamientos de bytes en el búfer de cliente. Cuando cualquiera de los desplazamientos alcanza el final del búfer, se ajusta al inicio del búfer. Por lo tanto, ninguno de los desplazamientos supera el tamaño del búfer.
En el caso de un búfer de cliente noopado (con tipo de secuencia KSINTERFACE_STANDARD_STREAMING), PlayOffset y WriteOffset no se desplazan en ningún búfer físico que el controlador haya asignado o que haya asignado un cliente. En su lugar, estos desplazamientos son relativos a la secuencia y se pueden considerar como desplazamientos en un búfer idealizado que contiene toda la secuencia y es contiguo de principio a fin. Los desplazamientos internos que apuntan a los búferes físicos reales que contienen los datos deben mantenerse por separado.
Durante la reproducción, los valores PlayOffset y WriteOffset se interpretan de la siguiente manera:
- PlayOffset es el desplazamiento del último byte del búfer que se ha reproducido. PlayOffset + 1 es el desplazamiento del siguiente byte que se reproducirá.
- WriteOffset es el desplazamiento del último byte del búfer de reproducción.
Durante la grabación, los valores PlayOffset y WriteOffset se interpretan de la siguiente manera:
- PlayOffset es el desplazamiento del último byte del búfer que se ha capturado. PlayOffset + 1 es el desplazamiento del siguiente byte que se capturará.
- WriteOffset es el desplazamiento del último byte del búfer de captura.
El espacio entre PlayOffset y WriteOffset se considera off-limits para el cliente, ya que representa la parte del búfer de cliente que ya se ha enviado al controlador y puede seguir siendo utilizado por el controlador.
Para obtener más información, vea Propiedad De posición de audio.
Requisitos
Requisito | Valor |
---|---|
Header | ksmedia.h (incluya Ksmedia.h) |
Consulte también
KSINTERFACE_STANDARD_LOOPED_STREAMING