Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Audio Aufnahmegeräte auflisten (Name wird abgeschnitten)

  Alt 28. Okt 2009, 21:25
Hey,

momentan liste ich mir mit folgendem Code alle Aufnahmegeräte des Computers auf:

Delphi-Quellcode:
var
  I: Integer;
  hMixerHandle: HMIXER;
  MixerCaps: TMixerCaps;
begin
  for I := 0 to mixerGetNumDevs -1 do
  begin
    if (mixerOpen(@hMixerHandle, I, 0, 0, MIXER_OBJECTF_WAVEIN) =
      MMSYSERR_NOERROR) then
    begin
      try
        FillChar(MixerCaps, SizeOf(MixerCaps), #0);
        if (mixerGetDevCaps(hMixerHandle, @MixerCaps, SizeOf(TMixerCaps)) =
          MMSYSERR_NOERROR) then
        begin
          Memo1.Lines.Add(IntToStr(I) + ': ' + MixerCaps.szPname);
        end;
      finally
        mixerClose(hMixerHandle);
      end;
    end;
  end;
end;
Funktioniert alles wunderbar, nur leider ist szPname im MixerCaps Struct auf 32 Zeichen begrenzt.

1) Hat da jemand eine alternative Lösung parat?
2) nur sekundär, aber fals sich jemand mit auskennt, gibt es eine Möglichkeit zu prüfen, ob das Gerät bereit ist? In der Systemsteuerung von Windows, wird z.b. nur bei Geräten, die bereit zur Verwendung sind, ein live Lautstärkepegel angezeigt (Win7)

Viele Grüße
Zacherl
  Mit Zitat antworten Zitat