程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 播放自定義的聲音

播放自定義的聲音

編輯:Delphi
如果你要播放基本的系統聲音,則要用適當的參數調用MessageBeep。如果你要用揚聲器發聲,就調用MessageBeep(-1);。

  要播放一個WAV聲音,你可以使用對象TmediaPlayer,但如果你要快速播放,最簡單的方法是調用API函數sndPlaySound(在mmsystem單元中聲明)。
  
  例如:
              procedure TForm1.Button1Click(Sender: TObject);
              begin
                sndPlaySound('C:\Windows\Media\Tada.wav',
                  SND_NODEFAULT Or SND_ASYNC Or SND_LOOP);
              end;
              procedure TForm1.Button2Click(Sender: TObject);
              begin
                sndPlaySound(nil, 0); //停止發音
              end;
            如果你要經常播放一種聲音,就應該考慮把文件載入內存並從內存中播放:
              var
                tada: string;
              procedure TForm1.Button1Click(Sender: TObject);
              begin
                sndPlaySound(Pointer(tada), SND_MEMORY
                  Or SND_NODEFAULT Or SND_ASYNC);
              end;
              initialization
                tada := LoadFile('C:\Windows\Media\Tada.wav');
              finalization
                tada := '; //釋放字符串占用的內存。
              end.

你可以把一個或多個wave文件嵌入可執行文件中,並從文件中播放。首先建立一個資源文件(.RES)。要做到這點,就要建立一個.RC文件,例如一個叫做sounds.rc的文件:
              tada wave c:\Windows\media\tada.wav
              chimes wave c:\Windows\media\chimes.wav

  然後用資源編譯器進行編譯(Delphi\Bin directory中的BRCC32.EXE),然後就得到一個名為sounds.res的文件,你可以用指令把它裝入項目中。使用SND_RESOURCE標志,調用PlaySound(而不是sndPlaySound),就可以從可執行文件中播放聲音。
              {$R sounds.res}
              procedure TForm1.Button1Click(Sender: TObject);
              begin
                PlaySound('chimes', hInstance, SND_RESOURCE or SND_SYNC);
                PlaySound('tada', hInstance, SND_RESOURCE or SND_ASYNC);
              end;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved