if you are going to play a sound more or less often, you should consider loading the resource in memory and playing it from there:uses Windows, MMSystem;{$R sounds.res}var tada: Pointer;procedure TForm1.Button1Click(Sender: TObject); begin sndPlaySound(tada, SND_MEMORY or SND_NODEFAULT or SND_ASYNC); end;initialization // Here we use some castings to avoid using another variable tada := Pointer(FindResource(hInstance, 'tada', 'wave')); if tada <> nil then begin tada := Pointer(LoadResource(hInstance, HRSRC(tada))); if tada <> nil then tada := LockResource(HGLOBAL(tada)); end; end.
http://www.latiumsoftware.com/en/delphi/00024.php
有两种方法 1、如aiirii(ari-爱的眼睛) 所说,使用资源; 2、如下 procedure TForm1.FormCreate(Sender: TObject); var ms: TMemoryStream; begin ms := TMemoryStream.Create; ms.LoadFromFile('你的文件'); sndPlaySound(ms.Memory, SND_MEMORY or SND_NODEFAULT or SND_ASYNC);
请问如何建资源文件?sndPlaySound(tada, SND_MEMORY or SND_NODEFAULT or SND_ASYNC); 其中SND_MEMORY or SND_NODEFAULT or SND_ASYNC这三个参数,用哪个比较合适。要求同步播放,而不是在后台播放。播放完毕才能执行下一语句。
tada: Pointer;procedure TForm1.Button1Click(Sender: TObject);
begin
sndPlaySound(tada, SND_MEMORY
or SND_NODEFAULT or SND_ASYNC);
end;initialization
// Here we use some castings to avoid using another variable
tada := Pointer(FindResource(hInstance, 'tada', 'wave'));
if tada <> nil then begin
tada := Pointer(LoadResource(hInstance, HRSRC(tada)));
if tada <> nil then tada := LockResource(HGLOBAL(tada));
end;
end.
1、如aiirii(ari-爱的眼睛) 所说,使用资源;
2、如下
procedure TForm1.FormCreate(Sender: TObject);
var
ms: TMemoryStream;
begin
ms := TMemoryStream.Create;
ms.LoadFromFile('你的文件');
sndPlaySound(ms.Memory, SND_MEMORY
or SND_NODEFAULT or SND_ASYNC);
end;
学习
使用这个语句播放 PlaySound('WAV资源名称',HInstance,SND_RESOURCE);
or SND_NODEFAULT or SND_ASYNC);
其中SND_MEMORY or SND_NODEFAULT or SND_ASYNC这三个参数,用哪个比较合适。要求同步播放,而不是在后台播放。播放完毕才能执行下一语句。
哪位大侠能简单介绍一下如何建立和使用资源文件?
都基本上不需要使用什么RC编辑器的