Mixer Info

unit MixerUnit;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls,
  Forms, Dialogs, MMSystem, StdCtrls, ComCtrls;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
 Mixer   : Byte;
 MXCaps  : TMixerCaps;
 Version : DWORD;
begin
 Mixer := mixerGetNumDevs;
 If Mixer > 0 Then
  Memo1.Lines.Add(Format('Mixer devices : %d', [Mixer]));
 mixerGetDevCaps(0, @MXCaps, SizeOf(MXCaps));
 With MXCaps do
  Begin
   Memo1.Lines.Add(szPName);
   Version := vDriverVersion;
   Memo1.Lines.Add(Format('Version : %d.%d', [Hi(Version), Lo(Version)]));
  End;
end;
end.