gpt4 book ai didi

delphi - 使用项目中的波形文件

转载 作者:行者123 更新时间:2023-12-03 15:15:18 27 4
gpt4 key购买 nike

我目前只能通过将波形文件放在已编译的 exe 旁边来播放背景声音。但我实际上想要一个包含波形文件的静态可执行文件。这在 Delphi XE2 中可能吗?

这是我的代码:

SndPlaySound('.\Raw.wav', SND_ASYNC or SND_LOOP);
#This will play the Raw.wav that is next to my program.

最佳答案

您可以添加 SND_MEMORY标志,并传递 TResourceStream.Memory 指针作为第一个参数。

首先,使用XE2的Project->Resources and Images菜单项添加新资源。为其提供 .wav 文件的路径和文件名、RC_DATA 资源类型(它不在下拉列表中,但您可以手动输入)以及可以在以下位置使用的资源名称:运行时来引用它。 (在我的示例中,我使用 C:\Microsoft Office\Office12\MEDIA\APPLAUSE.WAV,并为其指定资源名称 APPLAUSE。)

procedure TForm2.Button1Click(Sender: TObject);
var
Res: TResourceStream;
begin
Res := TResourceStream.Create(HInstance, 'APPLAUSE', 'RC_DATA');
try
Res.Position := 0;
SndPlaySound(Res.Memory, SND_MEMORY or SND_ASYNC or SND_LOOP);
finally
Res.Free;
end;
end;

关于delphi - 使用项目中的波形文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10576312/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com