如何调用wave资源

allexit 2000-09-11 10:45:00
我用文本编辑器编辑了一个文件alertsnd.rc
alertsun wave tada.wav
然后用brcc32编译成alertsnd.res
在文件中加入
{$R *.DFM}
{$R alertsnd.RES}
~~~~~~~~~~~~~~~~~~
调用语句为
procedure TForm1.FormCreate(Sender: TObject);
var
hResInfo : THandle;
begin
hResInfo := FindResource (HInstance, 'alertsun', 'WAVE');
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hRes := LoadResource (HInstance, hResInfo);
if hRes > 32 then
begin
button1.enabled := true;
ptrSound := LockResource (hRes);
end;
end;
但有波浪线一句有问题,设断点显示为hResInfo为无效值,为何?
...全文
148 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeah 2000-09-12
  • 打赏
  • 举报
回复
如shines所说,你的波浪线一句有拼写错误。
如果我要做WAVE资源,我会这样做更简单:使用VC++的资源编译器!
在VC中新建一资源文件,将波形文件导入后,右键激活属性编辑器,
将ID文本框中数据ID改为字符串ID(使用双引号),如"WAVE1",另存该文件为
WAVE.res,放置到你的工程目录下,调用时:

implementation

{$R *.DFM}
{$R Wave.res}
uses mmsystem;
procedure Tform1.playmysound;
begin
if WaveoutGetNumDevs <> 0 then
PlaySound('WAVE1',hInstance,SND_RESOURCE or SND_ASYNC);
end;
如果你用记事本直接编写资源脚本,经编绎为RES资源文件后,使用方法一样。
shines77 2000-09-12
  • 打赏
  • 举报
回复
alertsnd
shines77 2000-09-12
  • 打赏
  • 举报
回复
alertsud 是不是写成 alertsun 了?
语音朗读开发包C# (VS.NET 2003)例程介绍 注意: 开发包中的C#例程,全部用VC# (VS.NET 2003)版本编制 程序运行基于.NET架构,必须先在系统中安装Microsoft .NET Framework 1.1 或者更高版本 Example1 在使用前,必须保证smartread7.dll文件在与程序相同的目录下 注意点 由于从2.1版本中加入了初始化认证函数, 不同的注册用户的smartread7.dll文件是不相同的, 如果你将smartread7.dll文件复制到系统文件夹下, 如果其他注册用户也将其注册的smartread7.dll文件复制到系统文件夹下, 就会覆盖掉你的注册smartread7.dll文件, 引起你的程序调用会出现未注册信息. 所以如果你调用初始化认证函数, 最好将smartread7.dll文件复制到你的程序相同的文件夹下. SmartRead_Initial 从语音朗读开发包2.4开始,不支持 SmartRead_Initial函数 SmartRead_InitialAuth 用于初始化语音并认证功能,必须在最初调用,进行认证 SmartRead_Close 用于关闭语音功能,在程序退出前调用,释放资源 SmartRead_Speak 朗读函数,分别有阻塞调用,非阻塞调用,并且在朗读每一句可以定义所朗读的每一句的 语音(中文或者英文),语速,音量,也可以采用缺省的参数(详见程例) SmartRead_Stop 停止朗读函数 SmartRead_SetDialog 用于打开语音设置对话框,改变语音,音量,语速等,并且可以连接到自定义的语音库下载站点 SmartRead_Version 显示开发包版本信息 SmartRead_SpeakToWave 朗读文本到WAVE文件,可以自己设置所输出的WAVE文件,并且朗读时可以设置语音,语速,音量和格式 SmartRead_GetLocationInfo 获得当前朗读到的位置,以百分数表示 SmartRead_SetVolume 在朗读中改变音量 SmartRead_SetSpeed 在朗读中改变语速
在使用前,必须保证smartread7.dll文件在与程序相同的目录下 注意点 由于从2.1版本中加入了初始化认证函数, 不同的注册用户的smartread7.dll文件是不相同的, 如果你将smartread7.dll文件复制到系统文件夹下, 如果其他注册用户也将其注册的smartread7.dll文件复制到系统文件夹下, 就会覆盖掉你的注册smartread7.dll文件, 引起你的程序调用会出现未注册信息. 所以如果你调用初始化认证函数, 最好将smartread7.dll文件复制到你的程序相同的文件夹下. SmartRead_Initial 从语音朗读开发包2.4开始,不支持 SmartRead_Initial函数 SmartRead_InitialAuth 用于初始化语音并认证功能,必须在最初调用,进行认证 SmartRead_Close 用于关闭语音功能,在程序退出前调用,释放资源 SmartRead_Speak 朗读函数,分别有阻塞调用,非阻塞调用,并且在朗读每一句可以定义所朗读的每一句的 语音(中文或者英文),语速,音量,也可以采用缺省的参数(详见程例) SmartRead_Stop 停止朗读函数 SmartRead_SetDialog 用于打开语音设置对话框,改变语音,音量,语速等,并且可以连接到自定义的语音库下载站点 SmartRead_Version 显示开发包版本信息 SmartRead_SpeakToWave 朗读文本到WAVE文件,可以自己设置所输出的WAVE文件,并且朗读时可以设置语音,语速,音量和格式 SmartRead_GetLocationInfo 获得当前朗读到的位置,以百分数表示 SmartRead_SetVolume 在朗读中改变音量 SmartRead_SetSpeed 在朗读中改变语速 SmartRead_PauseORContinue 在朗读中实现暂停/继续功能 SmartRead_GetVoiceDeviceNum 获得声卡数目信息 SmartRead_GetVolume 在朗读中获得音量 SmartRead_GetSpeed 在朗读中获得语速 SmartRead_HideMessageBox 隐藏信息提示框函数 SmartRead_SetMode 设置播放模式函数 SmartRead_SetParameter 设置参数 SmartRead_QueueNext 队列朗读播放下一条 SmartRead_QueueStatistics 统计目前队列已经朗读个数和总的个数 SmartRead_GetErrCode 获得错误代码 SmartRead_GetErrMsg 获得错误信息,英文表示

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧