::: 델파이 Tip&Trick :::

델파이 Tip&Trick 성격에 맞지 않는 광고,비방,질문의 글은 즉시 삭제하며
내용을 복사하여 사용할 경우 반드시 이곳(http://www.howto.pe.kr)을 출처로 명시하여 주세요


Category

  김영대(2003-03-06 21:54:53, Hit : 4649, Vote : 1285
 마이크 볼륨 조절하기

> Q) How can I change the volume of the CD Audio and LineIn device?
>
> A) The following example demonstrates getting and setting the volume
>    for the first CDAudio and LineIn device found. Note that both left and right
>    channels are supported. The volume range is from 0 to 65535.
>
> Example:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, MMSystem;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
{$R *.DFM}

function GetLineInHandle(AudioType: integer): integer;
var
  i: integer;
  AudioCaps: TAuxCaps;
begin
  result := 0;
  for i := 0 to auxGetNumDevs - 1 do
  begin
    auxGetDevCaps(i, @AudioCaps, sizeof(AudioCaps));
    if AudioCaps.wTechnology = AudioType then
    begin
      Result := i;
      Break;
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  v: DWORD;
begin
  AuxGetVolume(GetLineInHandle(AUXCAPS_CDAUDIO), @v);
  Edit1.Text := IntToStr(LoWord(v));
  Edit2.Text := IntToStr(HiWord(v));
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  v: DWORD;
begin
  v := MakeLong(Word(StrToInt(Edit1.Text)),
                Word(StrToInt(Edit2.Text)));
  AuxSetVolume(GetLineInHandle(AUXCAPS_CDAUDIO), v);
end;

procedure TForm1.Button3Click(Sender: TObject);
var
  v: DWORD;
begin
  AuxGetVolume(GetLineInHandle(AUXCAPS_AUXIN), @v);
  Edit3.Text := IntToStr(LoWord(v));
  Edit4.Text := IntToStr(HiWord(v));
end;

procedure TForm1.Button4Click(Sender: TObject);
var
  v: DWORD;
begin
  v := MakeLong(Word(StrToInt(Edit3.Text)),
                Word(StrToInt(Edit4.Text)));
  AuxSetVolume(GetLineInHandle(AUXCAPS_AUXIN), v);
end;

end.





611   [데이터베이스] DB에 저장된 JPEG(JPG)를 DBGrid에 출력하기  김영대 2003/03/06 5247 1255
610   [데이터베이스] 동적으로 인덱스 만들기  김영대 2003/03/06 4467 1130
609   [데이터베이스] Excel ODBC를 사용하여 xls를 테이블로 사용하기  김영대 2003/03/06 6868 1604
608   [데이터베이스] DB alias중 ORACLE alias 명 구하기  김영대 2003/03/06 4011 973
607   [일반/컴포넌트] QuickReport에서 프린터 바꾸어서 출력하기  김영대 2003/03/06 6244 1547
606   [일반/컴포넌트] RichEdit 의 내용을 Bitmap 으로 만들기  김영대 2003/03/06 3356 876
605   [일반/컴포넌트] RichEdit 에서 문자(열)를 찾아 글자속성 바꾸기  김영대 2003/03/06 4746 1212
604   [일반/컴포넌트] RichEdit 에서 커서를 처음, 마지막으로 보내기  김영대 2003/03/06 6891 1480
603   [윈도우즈 API] 실행중인 모든 프로그램 Minimized 시키기  김영대 2003/03/06 4661 1237
602   [시스템] 델파이로 DOS 프로그램(Console application) 만들기  김영대 2003/03/06 17061 7528
601   [COM/OLE] Registering *.tlb files without Delphi  김영대 2003/03/06 5001 1133
600   [네트웍/인터넷] How to bring a network down - "Win Nuke"  김영대 2003/03/06 7309 1994
599   [윈도우즈 API] 폴더나 파일의 윈도우즈 등록정보 dialog 띄우기  김영대 2003/03/06 5097 1475
598   [일반/컴포넌트] 이미지를 마우스로 drag 해서 zoom 하기  김영대 2003/03/06 3605 1023
597   [윈도우즈 API] 외부 프로그램을 최상위로 설정하기  김영대 2003/03/06 5225 1234
596   [일반/컴포넌트] TObject의 프로퍼티를 문자열로 참조하기  김영대 2003/03/06 5227 1594
595   [윈도우즈 API] 프로그램으로 Screensaver 등록하는 두가지 방법  김영대 2003/03/06 4501 1268
594   [데이터베이스] 특정 폼의 현재 편집중인 DB Field 구하기  김영대 2003/03/06 4088 1111
593   [윈도우즈 API] KeyDown의 Beep음을 없애자...  김영대 2003/03/06 4632 1211
592   [시스템] How do I use SetWindowsHookEx ?  김영대 2003/03/06 6839 957
591   [시스템] Redirecting DOS Application Output  김영대 2003/03/06 4642 1207
590   [일반/컴포넌트] 두개의 RichEdit 사이에 내용 복사하기  김영대 2003/03/06 5859 1364
589   [일반/컴포넌트] 특정 Color의 Invert Color 구하기  김영대 2003/03/06 4313 1315
588   [일반/컴포넌트] 문자열 수식문장(expression)의 결과 구하기  김영대 2003/03/06 3377 878
587   [시스템] 오디오 CD의 볼륨 조절하기  김영대 2003/03/06 3614 1026
586   [일반/컴포넌트] 윈도우즈 "날짜/시간" 설정화면 띄우기  김영대 2003/03/06 6207 1822
  [시스템] 마이크 볼륨 조절하기  김영대 2003/03/06 4649 1285
584   [멀티미디어] JPEG, WAVE 를 resource 파일에 넣고 읽어오기  김영대 2003/03/06 5261 1224
583   [일반/컴포넌트] desktop 배경화면을 폼의 배경화면으로 그리기  김영대 2003/03/06 3676 1037
582   [윈도우즈 API] 레지스트리의 변경여부 알리는 2가지 방법  김영대 2003/03/06 4759 1282
581   [일반/컴포넌트] StringGrid 의 내용을 클립보드로 복사하기  김영대 2003/03/06 4466 1060
580   [데이터베이스] Save DBGrid To Excel  김영대 2003/03/06 6992 1849
579   [COM/OLE] Delphi의 OCX를 InstallShield로 배포하는 방법  김영대 2003/03/06 8332 5623
578   [일반/컴포넌트] ASCII printing  김영대 2003/03/06 5282 1213
577   [일반/컴포넌트] OEM conversion  김영대 2003/03/06 4320 1265
576   [일반/컴포넌트] Memo의 행의 문자수를 제한하고 WordWrap시키기  김영대 2003/03/06 5231 1314
575   [윈도우즈 API] DDE 쓰지 않고 IE의 현재 URL 가져오기  김영대 2003/03/06 5986 1676
574   [윈도우즈 API] RichEdit에 입력한 문장의 실제 높이 구하기  김영대 2003/03/06 5045 1429
573   [일반/컴포넌트] StringGrid 의 선택영역만 클립보드로 복사하기  김영대 2003/03/06 4862 1077
572   [일반/컴포넌트] StringGrid 에서 프로그램으로 MultiSelect 시키기  김영대 2003/03/06 5410 1187

[1][2][3][4][5][6][7][8][9] 10 ..[25] [다음 10개]
 

Copyright 1999-2022 Zeroboard / skin by zero