将xm音乐文件嵌入自己的程序(续)
工具:delphi 10 lite版本、xmstrip.exe、eff.exe、音乐编辑工具文件:cst.xm //音乐文件,提供学习和测试cst.pas//这个文件只要数据信息
步骤:
1. 新建一个文件夹。
2. 复制uFMOD.pas、ufmod.obj两个文件到此文件夹。
3. 新建delphi工程,保存工程到此目录。
4. eff.exe处理cst.xm文件,得到cst.pas文件,只要复制其数据信息即可。
5. 加入uFMOD到工程引用。
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,uFMOD, StdCtrls;
它一定要加入。一会编译时要引用此单元。
6. 复制cst.pas(刚才处理好的文件信息)内容的数据信息,粘贴到你新建工程的主窗体单元中。
const
xm : array of Byte = (
$45,$78,$74,$65,$6E,$64,$65,$64,$20,$4D,$6F,$64,$75,$6C,$65,$3A,
$20,$4C,$69,$6E,$6B,$20,$52,$65,$74,$75,$72,$6E,$73,$21,$20,$20,
$20,$20,$20,$20,$20,$1A,$46,$61,$73,$74,$54,$72,$61,$63,$6B,$65,
$72,$20,$76,$32,$2E,$30,$30,$20,$20,$20,$04,$01,$14,$01,$00,$00,
$12,$00,$02,$00,$0E,$00,$0E,$00,$23,$00,$01,$00,$05,$00,$8E,$00,
$01,$02,$03,$04,$05,$06,$07,$08,$09,$0A,$0B,$05,$06,$0C,$0D,$05,
$06,$07,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,
没有复制完,太多。
关于这个位置,看个人习惯,当作const来处理,在delphi中它的位置看自己的习惯和需要。
7. 将这个单元文件添加进工程(uFMOD.pas),这里按我的步骤来记录。顺序完全由你自己的风格来定。
Add file to project(Shift+F11)
测试编译,无错。
8. 下面在main单元的窗体上,加入两个按钮,一个是播放按钮,一个是停止按钮。
Name属性分别为:play stop
分别为其添加播放事件、停止事件
procedure TForm1.playClick(Sender: TObject);
begin
uFMOD_PlaySong(@xm,Length(xm),XM_MEMORY);
end;
procedure TForm1.stopClick(Sender: TObject);
begin
uFMOD_StopSong
end;
9. 再编译测试,是否成功?
如果您是想让程序运行时开始播放。
在窗体创建过程添加播放事件即可。
procedure TForm1.FormCreate(Sender: TObject);
begin
uFMOD_PlaySong(@xm,Length(xm),XM_MEMORY);
end;
官方只出到delphi7的版,我这里有点保守的尝试。有兴趣的可以深入研究。
好了,于下的就是自己动手试了,除了exe外,dll文件同样也可以这样处理的。
写得过于步骤化,也没什么理论知识,关键是多实践。有误之处请批评指正。 非常好,正需要这方面的知识呢(虽然我不会编程^_^),试着做做还是成功了! 学习了...谢谢提供哟 /:014
刚好找到了这个教程 ...
感谢了哈..
试下看看 唉,两个贴子合并一张不是更好?!
页:
[1]