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


Метод IMediaDet::WriteBitmapBits

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

Примечание

[Не рекомендуется. Этот API может быть удален из будущих выпусков Windows.]

 

Метод WriteBitmapBits извлекает видеокадр в указанное время мультимедиа и записывает его в файл. Видеокадр всегда имеет 24-разрядный формат RGB.

Синтаксис

HRESULT WriteBitmapBits(
   double StreamTime,
   long   Width,
   long   Height,
   BSTR   Filename
);

Параметры

StreamTime

Время извлечения видеокадра.

Width

Ширина изображения в пикселях.

Height

Высота изображения в пикселях.

Имя файла

Путь к файлу, в котором нужно сохранить растровое изображение. Если файл уже существует, этот метод перезаписывает его.

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

Возвращает S_OK успешно. В противном случае возвращает значение HRESULT , указывающее причину ошибки. Возможные коды ошибок:

Код возврата Описание
E_NOINTERFACE
Не удалось добавить фильтр Sample Grabber к графу.
E_FAIL
Ошибка.
E_OUTOFMEMORY
Недостаточно памяти.
E_UNEXPECTED
Непредвиденная ошибка.
STG_E_ACCESSDENIED
Не удается перезаписать файл.
VFW_E_INVALIDMEDIATYPE
Недопустимый тип носителя.

 

Комментарии

Перед вызовом этого метода задайте имя файла и поток, вызвав IMediaDet::p ut_Filename и IMediaDet::p ut_CurrentStream.

Этот метод переводит детектор мультимедиа в режим захвата растрового изображения. После вызова этого метода различные методы потоковой информации в IMediaDet не работают, если не создать новый экземпляр детектора мультимедиа.

Примечание

Файл заголовка Qedit.h несовместим с заголовками Direct3D более поздней версии 7.

 

Примечание

Чтобы получить Qedit.h, скачайте обновление Microsoft Windows SDK для Windows Vista и платформа .NET Framework 3.0. Qedit.h недоступен в Microsoft Windows SDK для Windows 7 и платформа .NET Framework 3.5 с пакетом обновления 1 (SP1).

 

Требования

Требование Значение
Заголовок
Qedit.h
Библиотека
Strmiids.lib

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

Интерфейс IMediaDet

Коды ошибок и успешности