Код для захвата веб-камеры с использованием собственного API Windows в библиотеке Python ctypes не работает должным обраPython

Программы на Python
Anonymous
Код для захвата веб-камеры с использованием собственного API Windows в библиотеке Python ctypes не работает должным обра

Сообщение Anonymous »

Итак, я пытаюсь сделать снимки ctypes с веб-камеры в Python, вот код:

Код: Выделить всё

import ctypes
from ctypes import wintypes

def CaptureWebcam(index: int, filePath: str) -> bool:
avicap32 = ctypes.windll.avicap32
WS_CHILD = 0x40000000
WM_CAP_DRIVER_CONNECT = 0x0400 + 10
WM_CAP_DRIVER_DISCONNECT = 0x0402
WM_CAP_FILE_SAVEDIB = 0x0400 + 100 + 25

hcam = avicap32.capCreateCaptureWindowW(
wintypes.LPWSTR("Blank"),
WS_CHILD,
0, 0, 0, 0,
ctypes.windll.user32.GetDesktopWindow(), 0
)

result = False

if hcam:
if ctypes.windll.user32.SendMessageA(hcam, WM_CAP_DRIVER_CONNECT, index, 0):
if ctypes.windll.user32.SendMessageA(hcam, WM_CAP_FILE_SAVEDIB, 0, wintypes.LPWSTR(filePath)):
result = True
ctypes.windll.user32.SendMessageA(hcam, WM_CAP_DRIVER_DISCONNECT, 0, 0)
ctypes.windll.user32.DestroyWindow(hcam)

return result
Однако, когда я запускаю, происходит вот что:
Светодиодный индикатор моей веб-камеры загорается, что означает, что сценарий обращается к моей веб-камере, как бы он ни был сохраняет пустой файл (0 байт) на диск, и функция возвращает False.

Подробнее здесь: https://stackoverflow.com/questions/790 ... types-libr

Вернуться в «Python»