お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
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

    { 音質の設定を行う }

    acmMetrics(0, ACM_METRIC_MAX_SIZE_FORMAT, dwSize);  { 最大のWAVEFORMATEX
のサイズ取得 }

    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;

 


- FDELPHI  MES(16):玉石混淆みんなで作るSample蔵【見本蓄積】 01/05/28 -

Original document by いさやん        氏 ID:(YIB02642)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum