Delphi Tips 
-----------------------------

0276  D1   D2   D3   D4   D5   D6   D7   3.1   95   98    作成: 1999/09/27 西坂良幸 rev 1.2
   B1   B3   B4   B5   B6   B7   NT3   NT4   2K   XP  更新: 1999/09/27 西坂良幸 編集
アップリケーションにサウンドリソースを埋め込んで使いたい。

リソースファイルには、*.WAVファイルを埋め込むことが出来ます。しかし、これは手作業で行わなければなりません。

たとえば、TEST.WAV というファイルがあるとします。
・このファイルをproject1.dprと同じディレクトリに起きます。
・メニューから[ファイル|新規作成−テキスト]を選びます。
・このテキストに、

   MYSOUND WAVE TEST.WAV

と1行を書き込み、PROJTEST.rc(適当でよい)という*.rcファイルとしてセーブします。
  ※ TEST.WAVが同じディレクトリでないときはフルパスで指定
  ※ リソースは、原則、大文字です。
・binディレクトリにあるbrcc32.exeで、*.resファイルを作成します。

   brcc32.exe PROJTEST.rc

  ※ コマンドラインEXE であることに注意
・project1.dprを開き作成したリソースファイルを書き込みます

・・省略・・・
{$R *.RES}               // デフォルトである
{$R projtest.res}        // ←ここを書き加える

begin
  Application.Initialize;
・・省略・・・


以上で、プロジェクトの再構築を行えば、EXEの中にTEST.WAVのデータが埋め込まれます。
Demosディレクトリの中にあるリソースエクスプローラの見本をコンパイルして、このプロジェクトのEXEファイルを読み込むと、WAVEリソースが出来ていることがわかります。

以下は、簡単な使用方法です。

// 音を鳴らす
procedure TForm1.Button1Click(Sender: TObject);
begin
  PlaySound('MYSOUND',HInstance, SND_RESOURCE or SND_ASYNC);
end;

// 停止させる
procedure TForm1.Button2Click(Sender: TObject);
begin
  PlaySound(nil, 0, SND_RESOURCE);
end;


上記の場合、SND_RESOURCE は必ず必要です。
また、SND_ASYNCをSND_SYNCにすると終わるまで制御が戻りません。
参照: [Delphi-ML:8787] [Delphi-ML:12338] <アプリケーション> <その他Windows関連> <開発環境> <Windows>

[新規作成] [最新の情報に更新]

How To
Lounge
KeyWords


Tips
Delphi
Home
Osamu Takeuchi osamu@big.or.jp