程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> DELPHI操縱聲卡

DELPHI操縱聲卡

編輯:Delphi

檢查聲卡是否安裝

uses mmsystem;
...
function Soundkarte:Boolean;
begin
Result := WaveOutGetNumDevs >0;
end;

檢測聲卡存在

如果你是做一些多媒體播放器之類的程序時,為了完善系統的容錯性,就必須用到一些檢測系統的功能,其中檢測聲卡是否存在就是一個問題,下列程序幫你忙,首先需要在uses部分加入mmsystem ,接著在窗體創建時檢測聲卡:

procedure TForm1.FormCreate(Sender: TObject);

var i:Integer;

begin

i := auxGetNumDevs();

if i<= then

label1.Caption :='系統沒有發現聲卡';

end;

控制聲音音量

當你做一個多媒體播放器時,難免少不了控制音量的大小和左右聲道的播放,下面就介紹一種控制Wave波形輸出設備音量的方法,該方法不是設置主音量。先在窗體上放兩個TTrackBar,分別命名為TrackBar1,TrackBar2,屬性Max都設置為65535,如果覺得刻度太密了,可以把Frequency屬性值設置大一些,然後在Uses段加入MMSystem,並在TrackBar1和TrackBar2的OnChange事件都寫上下列語句:

procedure TForm1.TrackBar1Change(Sender: TObject);
var Wave:string;
begin
Wave:='$'+inttohex(TrackBar1.Position
4)+inttohex(TrackBar2.Position
4);
waveoutsetvolume(0
strtoint(Wave));
end;

獲得和控制音量

unit uMain;
interface
uses
Windows
Messages
SysUtils
Classes
Controls
Forms
Dialogs
ExtCtrls
StdCtrls
mmsystem; //You must add this in the uses line
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
myvolume: array[0..10] of longint;
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var
Count
i: integer;
begin
Count := auxGetNumDevs;
for i := 0 to Count do
begin//The i is the device: I.E. 0=Wav Volume
auxgetvolume(i
addr(myvolume[i])); //Gets the values that the user has set
auxsetvolume(i
longint(9000)*65536+longint(9000)); //Sets the volume very very low
end; //The reason for the 9000*65536 + 9000 is if you wanted to do left and right channels
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
Count
i: integer;
begin
Count := auxGetNumDevs;
for i := 0 to Count do
begin
auxsetvolume(i
myvolume[i]); //Sets the volume back to the users old settings
end;
end;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved