Определение выходных номеров

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

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

  1. Создайте объект средства чтения и загрузите файл для чтения. Дополнительные сведения см. в разделах Создание средства чтения и Открытие файла (или Создание синхронного средства чтения и Открытие файла).
  2. Получите общее количество выходных данных для файла, вызвав IWMReader::GetOutputCount (или IWMSyncReader::GetOutputCount).
  3. Циклически перебирайте выходные данные по одному, выполняя следующие действия для каждого из них:
    • Получите интерфейс IWMOutputMediaProps для текущих выходных данных с помощью вызова IWMReader::GetOutputProps (или IWMSyncReader::GetOutputProps).
    • Получите структуру WM_MEDIA_TYPE выходных данных, выполнив два вызова IWMMediaProps::GetMediaType. Выполните первый вызов, чтобы получить размер структуры, затем выделите для нее память и передайте указатель на выделенную память во втором вызове. Кроме того, можно вызвать IWMMediaProps::GetType, который предоставляет основной тип без необходимости выделять память для структуры WM_MEDIA_TYPE . Вы можете пропустить выходные данные неправильного основного типа.
    • Извлеките основной тип и подтип носителя из структуры WM_MEDIA_TYPE . Эти значения хранятся в основных и подтипах элементов данных соответственно.
    • Проверьте значение WM_MEDIA_TYPE.formattype. Определяет тип структуры, содержащейся в буфере в WM_MEDIA_TYPE.pbFormat. Дополнительные сведения о типах форматов см. в разделе Типы мультимедиа.
    • Выделение памяти для хранения структуры типа, определенного на предыдущем шаге. Скопируйте структуру в выделенную память. Для аудио- и видео эта структура предоставляет важные сведения о том, как должны отображаться данные.

Синхронное средство чтения также предоставляет методы для получения связей между выходными номерами и номерами потоков. Дополнительные сведения см. в разделе Поиск номеров потоков и выходных чисел.

Входные, потоки и выходные данные

Интерфейс IWMMediaProps

Интерфейс IWMOutputMediaProps

Интерфейс IWMReader

Интерфейс IWMSyncReader

Работа с выходными данными