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


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

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

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