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


Функции типов мультимедиа

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

Базовые классы DirectShow предоставляют вспомогательные функции для обработки структуры AM_MEDIA_TYPE .

Структура AM_MEDIA_TYPE содержит указатель (член pbFormat ) на другой блок памяти, который называется блоком формата. Поэтому при работе с этой структурой необходимо соблюдать осторожность при выделении памяти, чтобы избежать утечек памяти.

Следующие функции выделяют память:

  • CreateMediaType выделяет новую AM_MEDIA_TYPE структуру и блок формата.
  • CopyMediaType копирует в существующую структуру AM_MEDIA_TYPE , но выделяет блок формата.
  • CreateAudioMediaType инициализирует существующую структуру AM_MEDIA_TYPE и при необходимости выделяет блок формата.

Следующие функции освобождают память:

  • FreeMediaType освобождает блок форматирования.
  • DeleteMediaType освобождает AM_MEDIA_TYPE структуру, включая блок форматирования.
Функция Описание
CopyMediaType Копирует структуру, выделенную задачей AM_MEDIA_TYPE .
CreateAudioMediaType Инициализирует структуру типа мультимедиа с учетом структуры волнового формата.
CreateMediaType Выделяет и инициализирует структуру AM_MEDIA_TYPE из существующей структуры AM_MEDIA_TYPE .
DeleteMediaType Удаляет структуру, выделенную задачей AM_MEDIA_TYPE .
FreeMediaType Освобождает из памяти структуру, выделенную задачей AM_MEDIA_TYPE .

 

Требования

Требование Значение
Заголовок
Mtype.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)