Пример асинхронного фильтра

Описание

Пример асинхронного фильтра — это фильтр чтения файлов, поддерживающий последовательное скачивание. Этот образец фильтра реализует интерфейсы иасинкреадер и ифилесаурцефилтер . Она поддерживает файлы MPEG, но не AVI.

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

Этот пример включает небольшое приложение командной строки, Memfile.exe, которое демонстрирует фильтр. Аргументы командной строки указывают файл мультимедиа и скорость передачи в килобайтах в секунду. Приложение считывает файл в память с указанной частотой и воспроизводит файл. Для этого создается экземпляр фильтра, добавляется фильтр к графу фильтра и подготавливается к просмотру выходной ПИН-код фильтра.

В командной строке введите:

Мемфиле имя файла с скоростью

Фильтр образцов Async не поддерживает AVI-файлы, так как не может подключиться к фильтру AVI . Закрепление выходных данных асинхронного фильтра предлагает _ поток MEDIATYPE и медиасубтипе _ значение NULL для типа мультимедиа. Входной ПИН-код в фильтре разделителя AVI не принимает МЕДИАСУБТИПЕ _ null и не предлагает никаких собственных типов. Поэтому соединение с ПИН-кодом завершается сбоем. Фильтр Async можно улучшить, чтобы предложить МЕДИАСУБТИПЕ _ AVI, когда это необходимо. Например, он может проверить формат файла или использовать расширение файла.

Загрузка образца

Чтобы скачать примеры пакета SDK для DirectShow, установите последнюю версию Windows SDK.

Этот пример устанавливается по следующему пути: [ корневые примеры пакета SDK ] \ \ файлы мультимедиа для \ \ фильтров DirectShow \ асинхронно.

Примеры DirectShow