Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Инициализирует подсистему захвата.
Синтаксис
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 |