iron_camera_mf.hsp
Version 1.0
Date 2026-04-14
Author IronHSP / iron_camera_mf
目次 (7 グループ / 31 ページ)
iron_camera_mf
iron_cam_close
カメラを閉じる
worker thread を停止 → child window を破棄 → 録画中なら自動 finalize。
iron_cam_read
最新フレームを byte 配列にコピー
BGRA32 (top-down) を var に書き込みます。
buffer サイズは width*height*4 必要。
iron_cam_save
スナップショットを画像ファイルに保存
拡張子で PNG/JPEG/BMP/GIF/TIFF を自動判別。WIC エンコード。
iron_cam_state
カメラの現在状態を取得 (defcfunc)
0=FREE 1=OPENING 2=READY 3=ERROR を返します。
iron_camera_mf ― open
iron_cam_open
カメラを開いてプレビュー開始 (defcfunc)
defcfunc。dev_idx 番目のカメラを開き、HSP の現在ウィンドウ内
(x, y, w, h) に child window としてプレビューを作成します。
iron_cam_open_ex
任意フォーマット指定でカメラを開く (defcfunc)
解像度と fps を指定して open。des_w/des_h/des_fn/des_fd を 0 にすると
デフォルト動作 (iron_cam_open と同じ)。
iron_camera_mf ― フォーマット列挙
iron_cam_format_get
対応フォーマット情報を取得
fmt_idx 番目の対応フォーマットを取得:
ow / oh : 幅 / 高さ
ofn / ofd : fps 分子 / 分母
iron_camera_mf ― プロパティ
iron_cam_prop_get
カメラプロパティ値とレンジを取得
プロパティ ID:
0=Brightness 1=Contrast 2=Hue 3=Saturation 4=Sharpness 5=Gamma
6=ColorEnable 7=WhiteBalance 8=BacklightCompensation 9=Gain
iron_camera_mf ― マイク録音
iron_mic_open
マイク (オーディオデバイス) を開く (defcfunc)
defcfunc。指定オーディオデバイスを開いて worker thread 起動。
sample_rate=0 で 48000、channels=0 で 2、bits=0 で 16 がデフォルト。
iron_mic_read
リングから PCM を読み出す
worker が裏で蓄積した PCM を最大 max_bytes byte だけ var_buf にコピー。
取り出した分はリングから消えます。
stat に実際に読めた byte 数。
iron_mic_record
エンコード録音開始 (AAC/MP3/WMA/FLAC)
SinkWriter で圧縮録音。codec="" で AAC デフォルト。
bitrate=0 で 128 kbps 相当。
iron_mic_save_wav
WAV ファイル直書き開始
RIFF header + 生 PCM 直接書き込み。エンコード無し、低 CPU。
文字起こし用途 (whisper 向け 16kHz mono 16bit) に最適。
iron_camera_mf ― 列挙
iron_cam_count
接続カメラ数を取得 (defcfunc)
defcfunc。Video capture デバイス数を返します。
iron_cam_id
カメラの SymbolicLink を取得 (ユニーク ID)
USB device path 等のユニーク ID を取得します。同名製品が複数接続
されている場合の区別に使用。
iron_cam_name
カメラ friendly name を取得
idx 番目のカメラの friendly name を var に書き込みます (sdim 自動 256 byte)。
iron_camera_mf ― 録画
iron_cam_record_av
音声 + 映像 同時録画開始
別 worker thread で audio_dev のオーディオキャプチャデバイスを開いて
SinkWriter に audio stream を追加して同時録画。