Поделиться через


структура LOOPEDSTREAMING_POSITION_EVENT_DATA (ksmedia.h)

Структура LOOPEDSTREAMING_POSITION_EVENT_DATA описывает событие позиции в циклизованном буфере.

Синтаксис

typedef struct {
  KSEVENTDATA KsEventData;
#if ...
  ULONGLONG   Position;
#else
  DWORDLONG   Position;
#endif
} LOOPEDSTREAMING_POSITION_EVENT_DATA, *PLOOPEDSTREAMING_POSITION_EVENT_DATA;

Члены

KsEventData

Указывает тип уведомления, которое система отправит клиенту при возникновении события. Дополнительные сведения см. в KSEVENTDATA.

Position

Указывает позицию буфера в виде смещения байтов с начала циклического буфера. Если размер буфера n байтов, элемент позиции должен содержать значение в диапазоне 0 до n-1.

Замечания

Событие KSEVENT_LOOPEDSTREAMING_POSITION использует структуру LOOPEDSTREAMING_POSITION_EVENT_DATA. Этот тип события происходит только в циклированных буферах. Циклизированный буфер — это буфер данных для аудиопотока типа KSINTERFACE_STANDARD_LOOPED_STREAMING.

Драйвер (как правило, системный компонент), создающий событие, сравнивает смещение байтов в элементе Положение с курсором воспроизведения (в потоке отрисовки) или курсором записи (в потоке записи). Событие позиции возникает, когда курсор воспроизведения или записи проходит через указанное положение.

Когда курсор воспроизведения или записи достигает конца циклического буфера, курсор перемещается к началу буфера, который соответствует смещением байтов 0.

Дополнительные сведения о циклированных буферах, позициях буферов и курсорах воспроизведения и записи см. в разделе Свойства позиции звука.

Требования

Требование Ценность
заголовка ksmedia.h (include Ksmedia.h)

См. также

KSEVENTDATA

KSEVENTSET_LoopedStreaming

KSEVENT_LOOPEDSTREAMING_POSITION

KSINTERFACE_STANDARD_LOOPED_STREAMING