estructura KSAUDIO_POSITION (ksmedia.h)
La estructura KSAUDIO_POSITION especifica las posiciones actuales de la reproducción y escribe cursores 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 reproducción actual como desplazamiento de bytes.
WriteOffset
Especifica la posición de escritura actual como desplazamiento de bytes.
Observaciones
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 llega al 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.
Para un búfer de cliente noopado (con el 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 de 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 de 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 fuera de los límites del cliente porque representa la parte del búfer de cliente que ya se ha enviado al controlador y puede que el controlador todavía esté en uso.
Para obtener más información, vea propiedad De posición de audio.
Requisitos
Requisito | Valor |
---|---|
encabezado de | ksmedia.h (incluya Ksmedia.h) |
Consulte también
KSINTERFACE_STANDARD_LOOPED_STREAMING