リファレンス 144 ドキュメント 7 サンプル 48
標準機能 346 advapi32.dll 419 api-ms-win-core-winrt-string-l1-1-0.dll 1 api-ms-win-dx-d3dkmt-l1-1-0.dll 1 arduino 12 Artlet2D 55 avrt.dll 11 bcrypt.dll 53 com_misc.dll 1238 comctl32.dll 94 comdlg32.dll 2 crypt32.dll 218 d2d1.dll 13 d3d11.dll 5 d3module 29 dbghelp.dll 128 dinput8.dll 1 dwmapi.dll 31 dwrite.dll 1 dxgi.dll 5 DxLibW 2738 encode.as 8 evr.dll 7 form_decode 1 gdi32.dll 384 gdiplus.dll 627 glu32.dll 52 hgimg3 152 hgimg4 166 hsedsdk 36 HSP3Dish 119 hsp3imp 4 hsp3util 17 hspble.dll 13 hspcbcom 11 hspcmp 21 hspcv 31 hspcv4 275 hspd2d 28 hspda 23 hspdb 8 hspdb.dll 14 hspduckdb.dll 10 hspext 59 hspinet 60 hspjson.dll 10 hspllama.dll 11 hspmath 41 hspmcp.dll 7 hspmfcam.dll 30 hspmidi.dll 17 hspmucom 17 hspogg 20 hsponnx.dll 13 hsppdf.dll 11 hspprint 6 hspsapi_64.dll 3 hspsock 12 hsptflite.dll 19 hsptv 2 hspusbio 6 hspvosk_64.dll 4 hspwasm.dll 10 hspwebsrv.dll 9 hspwebview2.dll 18 hspwgcapture.dll 8 hspwhisper_64.dll 4 hspwinrtocr.dll 5 hspwinrtspeech_64.dll 3 httpapi.dll 42 imm32.dll 63 iphlpapi.dll 194 iron_7z.hsp 6 iron_ai.hsp 9 iron_camera.hsp 6 iron_camera_mf.hsp 31 iron_clip.hsp 4 iron_csv.hsp 8 iron_dialog.hsp 2 iron_hash.hsp 12 iron_http.hsp 4 iron_ini.hsp 11 iron_json.hsp 10 iron_mcp_client.hsp 9 iron_mcp_server.hsp 6 iron_mediapipe.hsp 13 iron_office.hsp 6 iron_perf.hsp 5 iron_serial.hsp 6 iron_shell.hsp 6 iron_speech.hsp 9 iron_sysinfo.hsp 10 iron_toast.hsp 4 iron_url.hsp 6 iron_video.hsp 10 iron_xlsx.hsp 11 kernel32.dll 884 layer_fade 5 mf.dll 31 mfplat.dll 122 mfreadwrite.dll 5 mod_fontdlg 1 mod_joystick2 2 mod_menu 3 mod_mmaudio 7 mod_picfont 2 mod_posteffect 7 mod_regexp 4 mod_rss 1 mod_vpad 5 msimg32.dll 3 ncrypt.dll 1 netapi32.dll 45 normaliz.dll 2 obaq 51 obj 4 ole32.dll 143 oleaut32.dll 404 opengl32.dll 353 powrprof.dll 84 propsys.dll 1 psapi.dll 20 secur32.dll 2 shell32.dll 195 shlwapi.dll 15 SQLele 18 urlmon.dll 71 user32.dll 607 userenv.dll 34 uxtheme.dll 77 version.dll 7 wer.dll 20 windowscodecs.dll 9 winhttp.dll 46 wininet.dll 192 winmm.dll 146 wintrust.dll 7 wlanapi.dll 59 wmvcore.dll 11 ws2_32.dll 90 wtsapi32.dll 44 xaudio2_8.dll 4 xmllite.dll 6 ZLibWrap 2

hspmfcam.dll

Version 1.0 Date 2026-04-14 Author IronHSP / hspmfcam

目次 (9 グループ / 30 ページ)

hspmfcam ― audio capture 9
hspmfcam ― open / close 3
hspmfcam ― デバイス列挙 6
hspmfcam ― フォーマット列挙 2
hspmfcam ― フレーム取得 2
hspmfcam ― プロパティ 2
hspmfcam ― レイアウト 2
hspmfcam ― 状態 1
hspmfcam ― 録画 3

hspmfcam ― audio capture

mfcam_audio_close
オーディオデバイスを閉じる
worker thread を停止 → reader release。 WAV / エンコード録音中の場合は自動で stop してくれます。
mfcam_audio_get_format
実際に得られた sample rate / ch / bits を取得
mfcam_audio_open でネゴ後の実フォーマットを返します。 要求と違うことがあるので録音前に必ず確認してください。
mfcam_audio_open
オーディオデバイスを開いて worker thread 起動
オーディオデバイスを open して MF SourceReader を起動。
mfcam_audio_pcm_avail
リングバッファに溜まっている PCM byte 数
worker thread が裏で取得した PCM の現在の蓄積量を返します。
mfcam_audio_read_pcm
リングから PCM を取り出す
リングバッファの先頭から指定 byte 数だけコピーして取り出します。 取り出した分はバッファから消えます。
mfcam_audio_record_start
エンコード録音開始 (AAC/MP3/WMA/FLAC)
SinkWriter を構築して圧縮録音を開始します。
mfcam_audio_record_stop
エンコード録音停止 + finalize
..
mfcam_audio_save_wav_start
WAV ファイル直書き開始
RIFF ヘッダを書いて、以降 worker が ReadSample で取得した PCM を直接 WriteFile します。エンコード無し、低 CPU、無圧縮。文字起こし用途向き。
mfcam_audio_save_wav_stop
WAV ファイル直書き停止
RIFF/data チャンクサイズを finalize してファイルを閉じます。

hspmfcam ― open / close

mfcam_close
カメラを閉じる
worker thread を停止して child window を破棄、リソースを解放します。 録画中の場合は先に mfcam_record_stop を自動実行します。
mfcam_open
カメラを開いて子ウィンドウにプレビュー表示
idx 番目のカメラを開き、parent_hwnd の子ウィンドウ (位置 x,y サイズ w,h) としてリアルタイムプレビューを表示します。内部で worker thread を起動して MF SourceReader → StretchDIBits でフレーム描画を行います。
mfcam_open_ex
任意フォーマット指定でカメラを開く
mfcam_open と同じだが、解像度と fps を指定して open できます。 内部では mfcam_format_get で得られる native フォーマット中、 desired_w/h/fps に最も近い type を選択 → 出力 RGB32 に変換します。

hspmfcam ― デバイス列挙

mfcam_audio_count
オーディオキャプチャデバイス数
マイクや LineIn 等のオーディオキャプチャデバイスの総数を返します。
mfcam_audio_get_id
オーディオデバイスのユニーク ID 取得
オーディオデバイスの WASAPI EndpointID を取得します。
mfcam_audio_get_name
オーディオ friendly name 取得
オーディオデバイスの friendly name を取得します。
mfcam_count
接続カメラ数を取得
システムに接続されている Video Capture デバイス (Webcam, 仮想カメラ, キャプチャカード) の総数を返します。 ANSI 文字列。
mfcam_get_id
カメラのユニーク ID (Symbolic Link) を取得
idx 番目のカメラの SymbolicLink (USB device path 等) を取得します。 friendly name と違って、同じ製品が複数接続されていても USB ポートごとに ユニークな値になります。デバイスを記憶しておきたい場合に使用。
mfcam_get_name
カメラ friendly name の取得
idx 番目のカメラの "friendly name" (例: "Logicool BRIO") を p2 に書き込みます。 HSP 側で sdim で予めバッファ確保しておくこと。

hspmfcam ― フォーマット列挙

mfcam_format_count
カメラ対応フォーマット数
指定カメラがネイティブで対応している (解像度 × FPS × FOURCC) の 組み合わせ数を返します。例えば 1080p30/720p60/MJPG 1080p30 等が 別々にカウントされます。
mfcam_format_get
対応フォーマット情報の取得
idx 番目のカメラの fmt_idx 番目の対応フォーマットを取得します。 FOURCC は "NV12" "YUY2" "MJPG" "RGB32" 等の文字列。 fps は num/den 形式 (30 fps の場合 30/1)。

hspmfcam ― フレーム取得

mfcam_read
最新フレームを byte 配列にコピー
最新の取得済みフレームを BGRA32 (top-down) として p2 に書き込みます。 画像処理を HSP 側で行いたい場合に使用。
mfcam_save_snapshot
スナップショットをファイル保存
最新のフレームを画像ファイルとして保存します。

hspmfcam ― プロパティ

mfcam_prop_get
カメラプロパティ値とレンジ取得
カメラプロパティの現在値とレンジを取得します。
mfcam_prop_set
カメラプロパティ値の設定
カメラプロパティを設定します。値の範囲は mfcam_prop_get で確認可能。

hspmfcam ― レイアウト

mfcam_set_aspect
アスペクト比モードの切替
プレビューの表示モードを切り替えます。 letterbox モードでは余白を黒で塗りつぶします。
mfcam_set_pos
プレビュー子ウィンドウのリサイズ
HSP の親ウィンドウがリサイズされた際などに、子ウィンドウを 追従させるために呼びます。

hspmfcam ― 状態

mfcam_get_state
カメラの現在状態
カメラの状態を返します: 0 = FREE (スロット未使用) 1 = OPENING (worker 起動中、まだフレーム未取得) 2 = READY (再生中、フレーム取得可)

hspmfcam ― 録画

mfcam_record_start
映像のみ MP4 録画開始
SinkWriter を構築して録画を開始します。worker thread が ReadSample で 取得したフレームを WriteSample にパススルーします。
mfcam_record_start_av
音声 + 映像 同時録画開始
mfcam_record_start に加えて、別 worker thread で audio_dev_idx の オーディオキャプチャデバイスを開き、SinkWriter に audio stream を 追加して映像と同時録画します。
mfcam_record_stop
録画停止 + finalize
録画を停止して SinkWriter を finalize → release します。 audio worker thread も同時に停止。 mfcam_close でも自動的に呼ばれます。