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