структура 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) |