Пример MPEG1Source

Показано, как написать пользовательский источник мультимедиа в Microsoft Media Foundation. В примере реализуется источник мультимедиа, который анализирует потоки уровня системы MPEG-1 и создает примеры, содержащие полезные данные MPEG-1.

Демонстрация API

В этом примере показаны следующие интерфейсы Media Foundation:

Перед изучением этого примера может потребоваться ознакомиться с примером WavSource, который предоставляет более простую реализацию источника мультимедиа. Пример MPEG1Source добавляет некоторые функции, которые можно найти в большинстве реальных реализаций источника мультимедиа:

  • Несколько потоков
  • Асинхронные методы
  • Асинхронный ввод-вывод

В пакете Windows SDK для Windows Server 2008 этот пример также включает пример декодера видео MPEG-1, который отображает код времени для каждого видеокадра. (На самом деле он не декодирует битовый поток MPEG-1.)

Начиная с windows SDK для Windows 7 декодер был перемещен в отдельный пример. См. пример декодера.

Использование

Пример MPEG1Source создает библиотеку DLL, которая является COM-сервером для источника мультимедиа, обработчика байтового потока источника мультимедиа и декодера MFT. Перед использованием источника мультимедиа необходимо зарегистрировать библиотеку DLL.

Чтобы использовать источник мультимедиа, можно запустить пример BasicPlayback. Сопоставитель источника автоматически загрузит источник мультимедиа, если вы выберете файл MPEG-1 для воспроизведения. (При возникновении ошибки убедитесь, что библиотека DLL MPEG1Source успешно зарегистрирована.)

Вы также можете использовать средство TopoEdit для создания топологии воспроизведения, содержащей источник мультимедиа. Дополнительные сведения о TopoEdit см. в разделе TopoEdit.

Требования

Продукт Version
Windows SDK Windows 7

 

Скачивание примера

Этот пример доступен в репозитории классических примеров Windows на GitHub.

Примеры пакетов SDK Media Foundation

Источники мультимедиа

Обработчики схем и обработчики Byte-Stream

Руководство. Создание пользовательского источника мультимедиа

Пример WavSource