Поиск по коду времени SMPTE с помощью асинхронного средства чтения
[Функция, связанная с этой страницей, Windows Media Format 11 SDK, является устаревшей функцией. Он был заменен средством чтения исходного кода и модуля записи приемника. Средство чтения исходного кода и модуль записи приемника оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код по возможности использовал средство чтения исходного кода и модуль записи приемника вместо пакета SDK для Windows Media Format 11. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Объект средства чтения может искать точку в файле на основе кода времени SMPTE, связанного с видеопотоком. Данные кода времени инкапсулируются в WMT_TIMECODE_EXTENSION_DATA структурах, которые присоединяются к примерам видео в виде расширений единиц данных.
Коды времени SMPTE определяются диапазоном и кодом времени в этом диапазоне. Диапазон — это непрерывный ряд временных кодов. Каждый код времени определяется часами, минутами, секундами и кадрами.
Чтобы искать данные в ASF-файле с помощью кода времени SMPTE с помощью асинхронного средства чтения, выполните следующие действия.
- Получите указатель на интерфейс IWMReaderAdvanced3 объекта чтения, вызвав IWMReader::QueryInterface.
- Задайте код времени начала и длительность, вызвав IWMReaderAdvanced3::StartAtPosition. Необходимо указать номер потока видеопотока, индексированного по коду времени. Средство чтения синхронизирует остальные выходные данные со временем представления указанного кадра указанного потока и начнет доставлять примеры выходных данных.
- Обрабатывайте примеры так, как обычно в реализации метода IWMReaderCallback::OnSample .
Связанные темы