お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"sndPlaySoundの使用例"



こんにちは、凛です。
sndPlaySoundのシンプルな使用例をあげておきます。
Button1の例はボタンが押されてからファイルを開いて読み込んで音を鳴らす
例。Button2の方は先にメモリに読み込んでおく→読み込むディレィ無しに音
が始まるの例。ただしでかいファイルの場合、この例のようにFormCreateで読
み込んでDestroyまで離さないというのは良いアイデアではないですね。
どのタイミングで読み込んで準備しておくか、いつFreeするかはケースバイ
ケースですのでよく考えて下さい。

☆注意 Usesにmmsystemを追加しておく必要があります。



unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private 宣言 }
    MS:TMemoryStream;
  public
    { Public 宣言 }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
  FileName:String;
begin
  FileName:='C:\WINNT\Media\tada.wav';
  sndPlaySound(PChar(FileName),SND_ASYNC);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  sndPlaySound(MS.Memory,SND_MEMORY or SND_ASYNC);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  MS.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  MS:=TMemoryStream.Create;
  MS.LoadFromFile('C:\WINNT\Media\tada.wav');
end;

end.

                              2000/08/24(Thu) 05:46am  MXB01744 凛
 


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

Original document by 凛              氏 ID:(MXB01744)


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

Copyright 1996-2002 Delphi Users' Forum