Метод IMFCaptureEngine::Initialize (mfcaptureengine.h)
Инициализирует подсистему захвата.
Синтаксис
HRESULT Initialize(
[in] IMFCaptureEngineOnEventCallback *pEventCallback,
[in, optional] IMFAttributes *pAttributes,
[in, optional] IUnknown *pAudioSource,
[in, optional] IUnknown *pVideoSource
);
Параметры
[in] pEventCallback
Указатель на интерфейс IMFCaptureEngineOnEventCallback . Вызывающий объект должен реализовать этот интерфейс. Подсистема отслеживания использует этот интерфейс для отправки асинхронных событий вызывающей объекту.
[in, optional] pAttributes
Указатель на интерфейс IMFAttributes . Этот параметр может принимать значение NULL.
Этот параметр можно использовать для настройки подсистемы записи. Вызовите MFCreateAttributes , чтобы создать хранилище атрибутов, а затем задайте любой из следующих атрибутов.
- MF_CAPTURE_ENGINE_D3D_MANAGER
- MF_CAPTURE_ENGINE_DISABLE_DXVA
- MF_CAPTURE_ENGINE_DISABLE_HARDWARE_TRANSFORMS
- MF_CAPTURE_ENGINE_ENCODER_MFT_FIELDOFUSE_UNLOCK_Attribute
- MF_CAPTURE_ENGINE_EVENT_GENERATOR_GUID
- MF_CAPTURE_ENGINE_EVENT_STREAM_INDEX
- MF_CAPTURE_ENGINE_MEDIASOURCE_CONFIG
- MF_CAPTURE_ENGINE_RECORD_SINK_AUDIO_MAX_PROCESSED_SAMPLES
- MF_CAPTURE_ENGINE_RECORD_SINK_AUDIO_MAX_UNPROCESSED_SAMPLES
- MF_CAPTURE_ENGINE_RECORD_SINK_VIDEO_MAX_PROCESSED_SAMPLES
- MF_CAPTURE_ENGINE_RECORD_SINK_VIDEO_MAX_UNPROCESSED_SAMPLES
- MF_CAPTURE_ENGINE_USE_AUDIO_DEVICE_ONLY
- MF_CAPTURE_ENGINE_USE_VIDEO_DEVICE_ONLY
[in, optional] pAudioSource
Указатель IUnknown , указывающий устройство аудиозахвата. Этот параметр может принимать значение NULL.
Если для атрибута MF_CAPTURE_ENGINE_USE_VIDEO_DEVICE_ONLY задано значение TRUE в pAttributes, подсистема захвата не использует звуковое устройство, а параметр pAudioSource игнорируется.
В противном случае, если pAudioSource имеет значение NULL, подсистема захвата выбирает микрофон, встроенный в видеокамеру, указанную в параметре pVideoSource. Если у видеокамеры нет микрофона, подсистема захвата перечисляет устройства записи звука в системе и выбирает первое.
Чтобы переопределить звуковое устройство по умолчанию, задайте для pAudioSource указатель IMFMediaSource или IMFActivate для устройства. Дополнительные сведения см. в статье Запись звука и видео в Media Foundation.
[in, optional] pVideoSource
Указатель IUnknown , указывающий устройство захвата видео. Этот параметр может принимать значение NULL.
Если для атрибута MF_CAPTURE_ENGINE_USE_AUDIO_DEVICE_ONLY задано значение TRUE в pAttributes, обработчик захвата не использует видеоустройство, а параметр pVideoSource игнорируется.
В противном случае, если pVideoSource имеет значение NULL, подсистема захвата перечисляет устройства записи видео в системе и выбирает первое.
Чтобы переопределить видеоустройство по умолчанию, задайте для pVideoSource указатель IMFMediaSource или IMFActivate для устройства. Дополнительные сведения см. в разделе Перечисление устройств захвата видео.
Возвращаемое значение
Этот метод может возвращать одно из этих значений.
Код возврата | Описание |
---|---|
|
Успешно. |
|
Метод Initialize уже был вызван. |
|
Устройства записи недоступны. |
|
В системе присутствует неподдерживаемое устройство захвата. Эта ошибка будет возвращена только в том случае, если для параметра pVideoSource задано значение NULL, что указывает на то, что система должна выбрать устройство захвата и если поддерживаемого устройства захвата еще не подключено. Рекомендуется, чтобы приложения отображали пользователям определенное неподдерживаемое сообщение устройства захвата, если возвращается эта ошибка, а не общее сообщение об ошибке. |
Комментарии
Этот метод необходимо вызвать один раз перед использованием подсистемы записи. Второй вызов метода возвращает MF_E_INVALIDREQUEST.
Этот метод является асинхронным. Если метод возвращает код успешного выполнения, вызывающий объект получит событие MF_CAPTURE_ENGINE_INITIALIZED через метод IMFCaptureEngineOnEventCallback::OnEvent . Операция может завершиться асинхронным сбоем после успешного выполнения метода. Если это так, код ошибки передается с помощью метода OnEvent .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Целевая платформа | Windows |
Header | mfcaptureengine.h |