ImageEn, unit iemmf

TIEMediaFoundationSourceReader.SetVideoInput

TIEMediaFoundationSourceReader.SetVideoInput


Declaration

function SetVideoInput(index: Integer): boolean; overload;
function SetVideoInput(const name: WideString): boolean; overload;


Description

Select one of the VideoInputs devices as the video source.

Parameter Description
index Index of the video input device. Ranges from 0 up to VideoInputs.Count - 1
name Name of the video input device. Must be one of VideoInputs values


Examples

// Select first video input (first webcam)
ImageEnView1.IO.MediaFoundationSourceReader.SetVideoInput( 0 );

// Select a video input and fill listbox with its supported formats
procedure Tfmain.cmbVideoInputChange(Sender: TObject);
var
  i: integer;
  mmf: TIEMediaFoundationSourceReader;
  mediaType: TIEDictionary;
begin
  if cmbVideoInput.ItemIndex > -1 then
  begin
    // Fill supported formats listbox for the current video input
    lbxVideoFormat.Clear();
    mmf := ImageEnView1.IO.MediaFoundationSourceReader;
    mmf.SetVideoInput( cmbVideoInput.ItemIndex );
    for i := 0 to mmf.GetMediaTypesCount(mmf_VIDEO_STREAM) - 1 do
    begin
      mediaType := mmf.GetMediaType(mmf_VIDEO_STREAM, i);
      lbxVideoFormat.Items.Add( Format( '%d x %d   %.1f fps (min fps: %.1f max fps: %.1f)   %s',
                                  [ mediaType.GetInteger(IEFRAMEWIDTH_DICT_KEY),    // width
                                    mediaType.GetInteger(IEFRAMEHEIGHT_DICT_KEY),   // height
                                    mediaType.GetDouble(IEFRAMERATE_DICT_KEY),      // default frame rate
                                    mediaType.GetDouble(IEFRAMERATEMIN_DICT_KEY),   // minimum frame rate
                                    mediaType.GetDouble(IEFRAMERATEMAX_DICT_KEY),   // maximum frame rate
                                    mediaType.GetString(IESUBTYPE_DICT_KEY)         // subtype = color space
                                    ]));
    end;
    lbxVideoFormat.ItemIndex := 0;
  end;
end;


See Also

VideoInputs
SetFileInput
SetURLInput