您的位置:首页 > 编程语言 > Delphi

Delphi获取显卡和系统各种音频设备的代码实现

2016-11-11 00:00 447 查看
转载 http://www.codefans.net/articles/396.shtml Delphi获取不同的声音播放设备,这些设备包括:Aux设备、Wave播放设备、录音设备、MIDI音乐播放、MIDI音乐输入设备、游戏杆设备、混合设备,同时也可获取到显卡硬件信息。如果你需要使用Delphi获取上述任一个系统设备的话,你不妨参考下这个代码,运行截图:



unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,mmsystem;
type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var dd: TDisplayDevice;
begin
dd.cb := sizeof(dd);
ListBox1.Clear; //清空列表框
if EnumDisplayDevices(nil, 0, dd, 0)=false Then //获取当前使用的显卡
Listbox1.Items.Add('没有发现显卡设备信息')
Else
Listbox1.Items.Add('显卡------'+dd.DeviceString);
end;
procedure TForm1.Button2Click(Sender: TObject);
Var aux,waveout,wavein,midiout,midiin,mixer:integer;
auxcap:AUXCAPS;
waveoutcap:WAVEOUTCAPS;
waveincap:WAVEINCAPS;
midioutcap:MIDIOUTCAPS;
midiincap:MIDIINCAPS;
joycap:JOYCAPS;
mixercap:MIXERCAPS;
begin
aux:=Trunc(AuxGetNumDevs);
waveout:=Trunc(WaveOutGetNumDevs);
wavein:=Trunc(WaveInGetNumDevs);
midiout:=Trunc(MidiOutGetNumDevs);
midiin:=Trunc(MidiInGetNumDevs);
mixer:=Trunc(MixerGetNumDevs);
ListBox1.Clear; //清空列表框
//获取Aux设备
if aux=0 Then
ListBox1.Items.Add('没有发现AUX设备')
Else
Begin
AuxGetDevCaps(0,@auxcap,sizeof(AUXCAPS));
ListBox1.Items.Add('AUX设备---------'+auxcap.szPname);
end;
//获取Wave播放设备
if waveout=0 Then
ListBox1.Items.Add('没有发现Wave播放设备')
Else
Begin
WaveOutGetDevCaps(0,@waveoutcap,sizeof(WAVEOUTCAPS));
ListBox1.Items.Add('Wave播放设备---------'+waveoutcap.szPname);
end;
//获取录音设备
if wavein=0 Then
ListBox1.Items.Add('没有发现录音设备')
Else
Begin
WaveInGetDevCaps(0,@waveincap,sizeof(WAVEINCAPS));
ListBox1.Items.Add('当前录音设备-----------'+waveincap.szPname);
end;
//获取MIDI音乐播放
if midiout=0 Then
ListBox1.Items.Add('没有发现MIDI音乐播放设备')
Else
Begin
MidiOutGetDevCaps(0,@midioutcap,sizeof(MIDIOUTCAPS));
ListBox1.Items.Add('MIDI音乐播放设备----'+midioutcap.szPname);
end;
//获取MIDI音乐输入设备
if midiin=0 Then
ListBox1.Items.Add('没有发现MIDI音乐输入设备')
Else
Begin
MidiInGetDevCaps(0,@midiincap,sizeof(MIDIINCAPS));
ListBox1.Items.Add('MIDI音乐输入设备----'+midiincap.szPname);
end;
//获取游戏杆设备
JoyGetDevCaps(0,@joycap,sizeof(JOYCAPS));
if joycap.szPname='' Then
ListBox1.Items.Add('没有发现游戏操纵杆设备')
Else
ListBox1.Items.Add('游戏操纵杆设备----'+joycap.szPname);
//获取混合设备
if mixer=0 Then
ListBox1.Items.Add('没有发现混合设备')
Else
Begin
MixerGetDevCaps(0,@mixercap,sizeof(MIXERCAPS));
ListBox1.Items.Add('混合设备----'+mixercap.szPname);
end;
end;
End.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: