|
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"音質の設定ダイヤログの表示"
Windowsに標準である音質の設定ダイヤログの表示サンプルです。
msacmをusesに追加
msacm.pas は http://www.programmersheaven.com/zone2/cat303/ より取得
FormにButtonを置いてButtonのクリックイベントに記述
procedure TForm1.Button1Click(Sender: TObject);
var
dwSize: DWORD;
lpWfx: PWaveFormatEx;
cfmt: TACMFormatChoose;
fmtName: array [0..255] of Char;
begin
{ 音質の設定を行う }
{ 最大のWAVEFORMATEXのサイズ取得 }
acmMetrics(0, ACM_METRIC_MAX_SIZE_FORMAT, dwSize);
lpWfx := PWaveFormatEx(AllocMem(dwSize));
if (lpWfx <> nil) then
begin
{ デフォルト選択させる場合 }
lpWfx^.wFormatTag := WAVE_FORMAT_PCM;
lpWfx^.nChannels := 1;
lpWfx^.nSamplesPerSec := 22050;
lpWfx^.nAvgBytesPerSec := 22050;
lpWfx^.nBlockAlign := 1;
lpWfx^.wBitsPerSample := 8;
{ Producing a Dialog Box for Selecting a Format for Recording }
ZeroMemory(@cfmt, sizeof(TACMFormatChoose));
cfmt.cbStruct := sizeof (TACMFormatChoose);
cfmt.fdwStyle := ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT;
cfmt.fdwEnum := ACM_FORMATENUMF_HARDWARE
or ACM_FORMATENUMF_INPUT;
{ 録音フォーマット }
cfmt.hwndOwner := Handle;
cfmt.pwfx := lpWfx;
cfmt.cbwfx := dwSize;
cfmt.pszName := fmtName; { 定義名 }
cfmt.cchName := sizeof(fmtName);
{ ダイアログの表示 }
if (acmFormatChoose(cfmt) = MMSYSERR_NOERROR) then begin
showMessage(StrPas(cfmt.szFormatTag)
+ ':' + StrPas(cfmt.szFormat));
end;
FreeMem(lpWfx);
end;
end;
Original document by いさやん 氏 ID:(YIB02642)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|