mfcam_open

カメラを開いて子ウィンドウにプレビュー表示

mfcam_open p1, p2, p3, p4, p5, p6, p7, p8

p1=0~      : デバイスインデックス
p2         : 親 HWND (HSP の hwnd システム変数を渡す)
p3, p4     : 子ウィンドウの x, y
p5, p6     : 子ウィンドウの幅, 高さ
p7         : 取得解像度 width (out int)
p8         : 取得解像度 height (out int)

(プラグイン / モジュール : hspmfcam.dll)

解説

idx 番目のカメラを開き、parent_hwnd の子ウィンドウ (位置 x,y サイズ w,h)
としてリアルタイムプレビューを表示します。内部で worker thread を起動して
MF SourceReader → StretchDIBits でフレーム描画を行います。

戻り値: ハンドル (>=0) / -1 失敗

ハンドルは mfcam_set_pos / mfcam_read / mfcam_record_start / mfcam_close
等の以降の呼び出しで使います。

最大 256 デバイスまで並列に open 可能。

関連項目

mfcam_open_ex任意フォーマット指定でカメラを開く(hspmfcam.dll)
mfcam_closeカメラを閉じる(hspmfcam.dll)
mfcam_set_posプレビュー子ウィンドウのリサイズ(hspmfcam.dll)

情報

プラグイン / モジュールhspmfcam.dll
バージョン1.0
作成日2026-04-14
著作者IronHSP / hspmfcam
URLhttps://github.com/inovia/IronHSP
備考hspmfcam.dll は Microsoft Media Foundation (MF) を直接ラップして、
Webcam や仮想カメラ (OBS/NDI)、キャプチャカード (Magewell/Elgato/Blackmagic)
からの映像取り込み・録画を 1 行で行えるようにする C++ 製ヘルパ DLL です。

特徴:
- 内部で worker thread + child window を作成 (MFPlay と同じ方式)
- HSP main thread が title bar drag 等で停止しても映像は止まらない
- 最大 256 デバイスを同時に open 可能
- 自動デインターレース (キャプチャカードの 1080i 等にも対応)
- PNG/JPEG/BMP/GIF/TIFF スナップショット保存 (WIC)
- H.264/HEVC/WMV9/VP9/MJPG 録画 + AAC/WMA/FLAC/MP3 同時録音
- カメラプロパティ (明るさ/露出/フォーカス等) アクセス

HSP 側からは package/win32/common/iron_camera_mf.hsp を include して
iron_cam_* 系のラッパ命令で扱うのが推奨です (raw API は mfcam_* 系)。
タイプ拡張命令
グループhspmfcam ― open / close
対応環境
  • その他 : Win32 / Win64
hs ファイルhsphelp\hspmfcam.hs