Поиск маркеров

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

Маркер — это именованное расположение в ASF-файле. Воспроизведение можно запустить только из расположения маркера с помощью асинхронного средства чтения. Вы можете начать воспроизведение с маркера, выполнив следующие действия.

  1. Вызовите IWMReader::QueryInterface , чтобы получить указатель на интерфейс IWMHeaderInfo .
  2. Получите общее количество маркеров в файле, вызвав метод IWMHeaderInfo::GetMarkerCount.
  3. Выполните цикл по маркерам, используя число маркеров, полученное на шаге 2. Получение имени и времени каждого маркера путем вызова IWMHeaderInfo::GetMarker для каждого маркера . Сохраните индекс нужного маркера.
  4. Вызовите IWMReader::QueryInterface , чтобы получить указатель на интерфейс IWMReaderAdvanced2 .
  5. Укажите маркер, с которого следует начать воспроизведение, вызвав IWMReaderAdvanced2::StartAtMarker. Необходимо передать индекс нужного маркера, который вы сохранили на шаге 3.
  6. Обрабатывайте примеры так, как обычно в реализации метода IWMReaderCallback::OnSample .

Маркеры

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

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