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


Функция MFCreateDeviceSource (mfidl.h)

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

Синтаксис

HRESULT MFCreateDeviceSource(
  [in]  IMFAttributes  *pAttributes,
  [out] IMFMediaSource **ppSource
);

Параметры

[in] pAttributes

Указатель на интерфейс IMFAttributes хранилища атрибутов, который используется для выбора устройства. См. заметки.

[out] ppSource

Получает указатель на интерфейс IMFMediaSource источника мультимедиа. Вызывающий объект должен освободить интерфейс .

Возвращаемое значение

Если эта функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Важно Если устройство захвата больше не требуется, необходимо завершить работу устройства, вызвав shutdown для объекта IMFMediaSource , полученного путем вызова MFCreateDeviceSource. Сбой вызова shutdown может привести к созданию ссылок на память, так как система может хранить ссылку на ресурсы IMFMediaSource до тех пор, пока не будет вызван метод Shutdown .
 
Параметр pAttributes указывает хранилище атрибутов. Чтобы создать хранилище атрибутов, вызовите функцию MFCreateAttributes . Необходимо задать атрибут MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE , который указывает тип устройства (аудио или видео).

Для устройств захвата звука при необходимости задайте один из следующих атрибутов:

attribute Описание
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID Указывает идентификатор конечной точки аудио устройства аудиозахвата.
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ROLE Указывает роль устройства. Если этот атрибут задан, функция использует устройство захвата звука по умолчанию для этой роли устройства.

Не сочетайте этот атрибут с атрибутом MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID .

 

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

Для устройств захвата видео необходимо задать следующий атрибут:

attribute Описание
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK Указывает символьную ссылку на устройство.

Требования

Требование Значение
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header mfidl.h
Библиотека Mf.lib
DLL Mf.dll

См. также раздел

Запись звука и видео в Media Foundation

Запись атрибутов устройства

MFCreateDeviceSourceActivate

Функции Media Foundation