Поделиться через


Стремление к маркерам

[Функция, связанная с этой страницей, Windows Media Format 11 SDK, является устаревшей особенностью. Он был замещён модулем чтения источника и модулем записи приемника. Читатель источника и Записыватель приёмника оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал Source Reader и Sink Writer вместо пакета Windows Media Format 11 SDK. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие 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.

маркеры

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

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