おかげさまで動画リアルタイムキャプチャができるようになったのですが、
フレームの取得が少々不安定というか、処理が重たいわけでは
なさそうながらややガタつきが出る場合があります。
現在使っているルーチンでテストソースを組んでみました。
より高速化、安定化できる点がありましたらご指摘ください。
#include "user32.as" #include "gdi32.as" #include "hspdsp.as" dsp_Init screen 0,320,240,0,0,0 buffer 10,64,64,0 screen 11,256,256,0,327,0 ;実際はscreenではなくbufferで使用 dialog "*",16,"メディアファイル" ;ファイル選択 if stat=0:end gsel 10 dsp_UseCaptureVideoEx 1 dsp_Open refstr,OPEN_DEFAULT_RENDERER,0,0,0 dsp_SetCaptureBufferSamples 1 onexit *exit ;Xで終了する bai=0 size=64 gsel 11 SetStretchBltMode hdc,4 ;きれいに縮小するモード選択 dsp_Play hwnd,0,0,0,0 ;再生開始 *main stick ky ;スペースキーでキャプチャサイズを変える if ky&16{bai++:bai=bai\8:size=64+bai*16} gsel 11 dsp_CaptureVideoEx hdc,0,0,size,size*dsp_info(1)/dsp_info(0),SRCCOPY redraw mref vram,66 gsel 0 color 255,255,255:boxf color 0,0,0:pos 0,0:mes"メインウィンドウ" pos 0,16:mes"キャプチャサイズX:"+size pos 0,32:mes"キャプチャサイズY:"+size*dsp_info(1)/dsp_info(0) pos 0,48:mes"vram読み取りテスト:"+peek(vram,195500) await 0 ; ↑0〜196607までの任意の整数値 goto *main *exit dsp_Stop dsp_Close dsp_Exit end