hspmfcam.dll
Version 1.0
Date 2026-04-14
Author IronHSP / hspmfcam
目次 (9 グループ / 30 ページ)
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_save_wav_start
WAV ファイル直書き開始
RIFF ヘッダを書いて、以降 worker が ReadSample で取得した PCM を直接
WriteFile します。エンコード無し、低 CPU、無圧縮。文字起こし用途向き。
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_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 側で行いたい場合に使用。
hspmfcam ― プロパティ
mfcam_prop_set
カメラプロパティ値の設定
カメラプロパティを設定します。値の範囲は mfcam_prop_get で確認可能。
hspmfcam ― レイアウト
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 でも自動的に呼ばれます。