如果我用MS自带的MediaPlay播放.Wav文件,需要传入一个为字符类型的表示文件名称的参数,如果我把声音文件已经编译成资源文件了,该怎么调用!? 它好象没有类似Animate控件那样有一个resName这样的属性参数吧! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 新建一个文本文件加入下面一行:test RCDATA "d:\Music\万水千山纵横.wav" //这个文件是我电脑上的,你可以自己改。然后保存为test.rc,最后在工程的同一个目录,然后将其编译成.res文件在主窗中加入该资源文件 {$R test.res}procedure TForm1.Button1Click(Sender: TObject);var RS: TResourceStream;begin RS := TResourceStream.Create(Hinstance, 'test', RT_RCDATA); RS.SaveToFile('test.wav'); MediaPlayer1.FileName := 'test.wav'; MediaPlayer1.Open;end; 试过了,不出错,但是不发声音啊!当然我把wav文件换成我机器上的了 好象第二次运行便出错: can't create test.wav我在其后加了语句 rs.destroy还是出错! 如果我要把两个.wav文件放在同一个资源文件中编译后调用,怎么写!? 如: test1 RCDATA "d:\Music\万水千山纵横1.wav" test2 RCDATA "d:\Music\万水千山纵横1.wav" >>好象第二次运行便出错: can't create test.wav,这是因为MediaPlayer已经打开了该文件,无法覆盖之,并不是rs没有释放的原因。>>试过了,不出错,但是不发声音啊!我试了,会发声呀,你有没有点击MediaPlayer的播放按钮呀或者再加一句MediaPlayer.Play;>>如果我要把两个.wav文件放在同一个资源文件中编译后调用,怎么写!?RS := TResourceStream.Create(Hinstance, 'test1', RT_RCDATA);//第二个参数就是要获取的资源名称,就是在.rc文件中写的 虽然是个老问题,还是基础没有打好,各位高人不要见谅! ClientDataSet查询提示'0.0' is not a valid timestamp TfcTreeView是如何动态添加节点? 请写一个你记得的 2004/6 的四六级准考证号及成绩.:-) 请问如何处理file的读写? TShellListView跟节点为桌面时怎么去掉回收站和IE图标? 头痛啊!这样的动态参数如何实现? MTS/COM+和MIDAS到底是什么关系 关于怎样设置三层结构中的主细表问题? 请问那位高手告诉我delphi和数据库连接的方法?? 学术讨论!进者有分 怎么看不见,是不是没有创建出来!!!
test RCDATA "d:\Music\万水千山纵横.wav" //这个文件是我电脑上的,你可以自己改。
然后保存为test.rc,最后在工程的同一个目录,然后将其编译成.res文件
在主窗中加入该资源文件 {$R test.res}procedure TForm1.Button1Click(Sender: TObject);
var
RS: TResourceStream;
begin
RS := TResourceStream.Create(Hinstance, 'test', RT_RCDATA);
RS.SaveToFile('test.wav');
MediaPlayer1.FileName := 'test.wav';
MediaPlayer1.Open;
end;
当然我把wav文件换成我机器上的了
我在其后加了语句 rs.destroy还是出错!
如果我要把两个.wav文件放在同一个资源文件中编译后调用,怎么写!?
如:
test1 RCDATA "d:\Music\万水千山纵横1.wav"
test2 RCDATA "d:\Music\万水千山纵横1.wav"
这是因为MediaPlayer已经打开了该文件,无法覆盖之,并不是rs没有释放的原因。>>试过了,不出错,但是不发声音啊!
我试了,会发声呀,你有没有点击MediaPlayer的播放按钮呀或者再加一句MediaPlayer.Play;>>如果我要把两个.wav文件放在同一个资源文件中编译后调用,怎么写!?
RS := TResourceStream.Create(Hinstance, 'test1', RT_RCDATA);//第二个参数就是要获取的资源名称,就是在.rc文件中写的