События аудиовизуального потока
Следующим в заголовочном файле расположен указатель на интерфейс IMediaEvent. Этот тип интерфейса используется для коммуникации с графом фильтров. Он будет информировать вас о текущем состоянии воспроизводимого аудиовизуального потока. В рассматриваемом примере программы я использую данный интерфейс, чтобы получить сообщение о завершении воспроизведения музыки. Методы интерфейса перечислены в таблице 7.8.
Таблица 7.8. Методы интерфейса IMediaEvent | |
Метод | Описание |
CancelDefaultHandling | Отменяет установленную по умолчанию обработку события фильтром. |
FreeEventParams | Освобождает связанные с параметром ресурсы. |
GetEvent | Возвращает следующее событие из очереди. |
GetEventHandle | Возвращает дескриптор следующего сообщения в очереди. |
RestoreDefaultHandling | Восстанавливает обработчик по умолчанию. |
WaitForCompletion | Ожидает пока граф фильтров не завершит воспроизведение аудиовизуального потока. Я использую эту функцию в примере программы чтобы проверить завершено ли воспроизведение музыки. |