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 |
// 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