程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi獲取顯卡和系統各種音頻設備的代碼實現

Delphi獲取顯卡和系統各種音頻設備的代碼實現

編輯:Delphi

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

Delphi獲取顯卡和不同的聲音播放設備

完整代碼:

vIEw source print? 001 unit Unit1; 002 interface 003 uses 004   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 005   Dialogs, StdCtrls,mmsystem; 006 type 007   TForm1 = class(TForm) 008     Button1: TButton; 009     ListBox1: TListBox; 010     Button2: TButton; 011     procedure Button1Click(Sender: TObject); 012     procedure Button2Click(Sender: TObject); 013   private 014     { Private declarations } 015   public 016     { Public declarations } 017   end; 018 var 019   Form1: TForm1; 020 implementation 021 {$R *.dfm} 022 procedure TForm1.Button1Click(Sender: TObject); 023 var  dd: TDisplayDevice; 024 begin 025  dd.cb := sizeof(dd); 026  ListBox1.Clear; //清空列表框 027  if EnumDisplayDevices(nil0, dd, 0)=false Then //獲取當前使用的顯卡 028     Listbox1.Items.Add('沒有發現顯卡設備信息') 029  Else 030     Listbox1.Items.Add('顯卡------'+dd.DeviceString); 031  end; 032 procedure TForm1.Button2Click(Sender: TObject); 033 Var aux,waveout,wavein,midiout,midiin,mixer:integer; 034     auxcap:AUXCAPS; 035     waveoutcap:WAVEOUTCAPS; 036     waveincap:WAVEINCAPS; 037     midioutcap:MIDIOUTCAPS; 038     midiincap:MIDIINCAPS; 039     joycap:JOYCAPS; 040     mixercap:MIXERCAPS; 041 begin 042   aux:=Trunc(AuxGetNumDevs); 043   waveout:=Trunc(WaveOutGetNumDevs); 044   wavein:=Trunc(WaveInGetNumDevs); 045   midiout:=Trunc(MidiOutGetNumDevs); 046   midiin:=Trunc(MidiInGetNumDevs); 047   mixer:=Trunc(MixerGetNumDevs); 048   ListBox1.Clear;    //清空列表框 049  //獲取Aux設備 050   if aux=0 Then 051    ListBox1.Items.Add('沒有發現AUX設備') 052   Else 053    Begin 054    AuxGetDevCaps(0,@auxcap,sizeof(AUXCAPS)); 055    ListBox1.Items.Add('AUX設備---------'+auxcap.szPname); 056    end; 057  //獲取Wave播放設備 058   if waveout=0 Then 059    ListBox1.Items.Add('沒有發現Wave播放設備') 060   Else 061    Begin 062    WaveOutGetDevCaps(0,@waveoutcap,sizeof(WAVEOUTCAPS)); 063    ListBox1.Items.Add('Wave播放設備---------'+waveoutcap.szPname); 064    end; 065  //獲取錄音設備 066  if wavein=0 Then 067    ListBox1.Items.Add('沒有發現錄音設備') 068   Else 069    Begin 070    WaveInGetDevCaps(0,@waveincap,sizeof(WAVEINCAPS)); 071    ListBox1.Items.Add('當前錄音設備-----------'+waveincap.szPname); 072    end; 073  //獲取MIDI音樂播放 074   if midiout=0 Then 075    ListBox1.Items.Add('沒有發現MIDI音樂播放設備') 076   Else 077    Begin 078    MidiOutGetDevCaps(0,@midioutcap,sizeof(MIDIOUTCAPS)); 079    ListBox1.Items.Add('MIDI音樂播放設備----'+midioutcap.szPname); 080    end; 081  //獲取MIDI音樂輸入設備 082   if midiin=0 Then 083    ListBox1.Items.Add('沒有發現MIDI音樂輸入設備') 084   Else 085    Begin 086    MidiInGetDevCaps(0,@midiincap,sizeof(MIDIINCAPS)); 087    ListBox1.Items.Add('MIDI音樂輸入設備----'+midiincap.szPname); 088    end; 089 //獲取游戲桿設備 090  JoyGetDevCaps(0,@joycap,sizeof(JOYCAPS)); 091    if joycap.szPname='' Then 092    ListBox1.Items.Add('沒有發現游戲操縱桿設備') 093    Else 094    ListBox1.Items.Add('游戲操縱桿設備----'+joycap.szPname); 095 //獲取混合設備 096  if mixer=0 Then 097    ListBox1.Items.Add('沒有發現混合設備') 098   Else 099    Begin 100    MixerGetDevCaps(0,@mixercap,sizeof(MIXERCAPS)); 101    ListBox1.Items.Add('混合設備----'+mixercap.szPname); 102    end; 103 end; 104 End.
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved