program patest3; {$MODE Delphi} uses SysUtils, Classes, AudioInput; var E: TAudioInput; A: TAudioInput; Names: TStringList; Idx: array[0..63] of Integer; Cnt, i: Integer; OK: Boolean; begin E := TAudioInput.Create(48000); Names := TStringList.Create; Cnt := 0; E.EnumInputDevices(Names, Idx, Cnt); for i := 0 to Cnt - 1 do begin WriteLn(Format('>>> try %3d %s', [Idx[i], Names[i]])); Flush(Output); A := TAudioInput.Create(48000); A.DeviceIndex := Idx[i]; OK := A.Open; WriteLn(Format(' %3d open=%s %s', [Idx[i], BoolToStr(OK, True), A.LastError])); Flush(Output); A.Close; A.Free; end; Names.Free; E.Free; WriteLn('ALL DONE'); end.