Поиск по номеру кадра с помощью асинхронного средства чтения

[Функция, связанная с этой страницей, Windows Media Format 11 SDK, является устаревшей функцией. Он был заменен средством чтения исходного кода и модуля записи приемника. Средство чтения исходного кода и модуль записи приемника оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код по возможности использовал средство чтения исходного кода и модуль записи приемника вместо пакета SDK для Windows Media Format 11. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Объект асинхронного средства чтения можно использовать для поиска кадров видеопотоков в ASF-файле. Чтобы использовать поиск на основе кадров, файл, загруженный в средство чтения, должен быть проиндексирован по кадру. Каждый отдельный видеопоток можно индексировать. Чтобы определить, индексирован ли поток по кадру, можно проверка атрибут g_wszWMNumberOfFrames в заголовке файла, вызвав метод IWMHeaderInfo::GetAttributeByName.

Чтобы искать данные в ASF-файле по номеру кадра с помощью асинхронного средства чтения, выполните следующие действия.

  1. Получите указатель на интерфейс IWMReaderAdvanced3 объекта чтения, вызвав IWMReader::QueryInterface.
  2. Задайте начальный номер и длительность кадра, вызвав IWMReaderAdvanced3::StartAtPosition. Необходимо указать номер потока видеопотока с индексированием кадров. Средство чтения синхронизирует остальные выходные данные со временем представления указанного кадра указанного потока и начнет доставлять примеры выходных данных.
  3. Обрабатывайте примеры так, как обычно в реализации метода IWMReaderCallback::OnSample .

Чтение файлов с помощью асинхронного средства чтения

Чтение метаданных при воспроизведении

Работа с индексами