如果你要播放基本的系统声音,则要用适当的参数调用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.
|