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


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

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

Асинхронное средство чтения считывает содержимое из ASF-файлов с помощью нескольких потоков и асинхронных вызовов. Функции, поддерживаемые асинхронным средством чтения, хорошо подходят для приложений, которые отображают содержимое для конечных пользователей.

Основные функциональные возможности объекта средства чтения можно разбить на следующие шаги. На этих шагах "приложение" относится к программе, написанной с помощью пакета SDK для формата Windows Media.

  1. Приложение реализует интерфейс IWMReaderCallback для обработки сообщений от средства чтения. Сюда входят два метода обратного вызова: OnStatus, который получает сообщения, связанные с состоянием различных аспектов средства чтения, и OnSample, который получает несжатые образцы от средства чтения.
  2. Приложение передает читателю имя файла для чтения. Когда средство чтения открывает файл, каждому потоку назначается выходной номер. Если файл использует взаимное исключение, средство чтения назначает один выход для всех взаимоисключающих потоков.
  3. Приложение получает сведения о конфигурации различных выходных данных от средства чтения. Собранные сведения позволят приложению правильно отображать примеры мультимедиа.
  4. Приложение указывает читателю начать чтение данных из файла. Средство чтения начинает доставлять несжатые примеры в обратный вызов OnSample по одному в буферах, упакованных в объекты буфера. Примеры, предоставляемые средством чтения, находятся в порядке времени презентации. Читатель будет продолжать доставлять примеры до тех пор, пока не будет остановлено приложением или пока не будет достигнут конец файла.
  5. Приложение отвечает за отрисовку данных после их доставки средством чтения. Пакет SDK для форматов Windows Media не предоставляет процедуры отрисовки. Как правило, приложения используют другие пакеты SDK для отрисовки данных, например microsoft DirectX® SDK или мультимедийные функции microsoft Windows Platform SDK.
  6. По завершении чтения приложение указывает читателю закрыть файл.

Эти шаги, среди прочего, показаны в примере приложения AudioPlayer. Дополнительные сведения см. в разделе Примеры приложений.

Средство чтения также поддерживает более расширенные функциональные возможности. Средство чтения позволяет выполнять следующие действия.

  • Приостановка воспроизведения файла.
  • Получение статистики производительности чтения.
  • Выбор потока управления для взаимоисключающих потоков.
  • Выделение буферов для вывода вручную.
  • Предоставьте собственные часы.
  • Получение состояния операций с файлами (буферизация, скачивание или сохранение).
  • Откройте файл с помощью стандартного ИНТЕРФЕЙСА COM IStream.
  • Поиск определенных точек в ASF-файле.
  • Чтение данных профиля из заголовка файла.

В следующих разделах подробно описывается использование объекта средства чтения.

Чтение ФАЙЛОВ ASF

Объект модуля чтения