В следующей строке кода заголовочного файла я создаю указатель на интерфейс IMediaControl с именем g_pMediaControl. Интерфейс управления аудиовизуальным потоком предназначен для контроля проходящих через граф фильтров данных. Этот интерфейс позволяет запустить, закончить и даже временно приостановить прохождение данных через граф. Вы можете представлять его как пульт дистанционного упроавления видеомагнитофона.
В рассматриваемом примере программы я использую интерфейс управления аудиовизуальным потоком для запуска, прекращения и перезапуска музыки. Функции интерфейса перечислены в таблице 7.7.
Таблица 7.7. Методы интерфейса IMediaControl | |
Метод | Описание |
GetState | Возвращает состояние графа. |
Pause | Приостанавливает воспроизводимый в данный момент аудиовизуальный поток. |
Run | Запускает аудиовизуальный поток. Это аналог кнопки Play на пульте дистанционного управления видеомагнитофона. |
Stop | Завершает воспроизведение аудиовизуального потока. |
StopWhenReady | Более мягкая остановка. |