日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

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

發(fā)布時間:2025/3/19 windows 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Delphi获取显卡和系统各种音频设备的代码实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉載?http://www.codefans.net/articles/396.shtml

Delphi獲取不同的聲音播放設備,這些設備包括:Aux設備、Wave播放設備、錄音設備、MIDI音樂播放、MIDI音樂輸入設備、游戲桿設備、混合設備,同時也可獲取到顯卡硬件信息。如果你需要使用Delphi獲取上述任一個系統(tǒng)設備的話,你不妨參考下這個代碼,運行截圖:

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('沒有發(fā)現(xiàn)顯卡設備信息')
?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('沒有發(fā)現(xiàn)AUX設備')
? Else
? ?Begin
? ?AuxGetDevCaps(0,@auxcap,sizeof(AUXCAPS));
? ?ListBox1.Items.Add('AUX設備---------'+auxcap.szPname);
? ?end;
?//獲取Wave播放設備
? if waveout=0 Then
? ?ListBox1.Items.Add('沒有發(fā)現(xiàn)Wave播放設備')
? Else
? ?Begin
? ?WaveOutGetDevCaps(0,@waveoutcap,sizeof(WAVEOUTCAPS));
? ?ListBox1.Items.Add('Wave播放設備---------'+waveoutcap.szPname);
? ?end;
?//獲取錄音設備
?if wavein=0 Then
? ?ListBox1.Items.Add('沒有發(fā)現(xiàn)錄音設備')
? Else
? ?Begin
? ?WaveInGetDevCaps(0,@waveincap,sizeof(WAVEINCAPS));
? ?ListBox1.Items.Add('當前錄音設備-----------'+waveincap.szPname);
? ?end;
?//獲取MIDI音樂播放
? if midiout=0 Then
? ?ListBox1.Items.Add('沒有發(fā)現(xiàn)MIDI音樂播放設備')
? Else
? ?Begin
? ?MidiOutGetDevCaps(0,@midioutcap,sizeof(MIDIOUTCAPS));
? ?ListBox1.Items.Add('MIDI音樂播放設備----'+midioutcap.szPname);
? ?end;
?//獲取MIDI音樂輸入設備
? if midiin=0 Then
? ?ListBox1.Items.Add('沒有發(fā)現(xiàn)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('沒有發(fā)現(xiàn)游戲操縱桿設備')
? ?Else
? ?ListBox1.Items.Add('游戲操縱桿設備----'+joycap.szPname);
//獲取混合設備
?if mixer=0 Then
? ?ListBox1.Items.Add('沒有發(fā)現(xiàn)混合設備')
? Else
? ?Begin
? ?MixerGetDevCaps(0,@mixercap,sizeof(MIXERCAPS));
? ?ListBox1.Items.Add('混合設備----'+mixercap.szPname);
? ?end;
end;
End.

總結

以上是生活随笔為你收集整理的Delphi获取显卡和系统各种音频设备的代码实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。