delphi将xm音乐文件嵌入自己的程序(基础)
Xm for Delphi Exe
工具:delphi 10
我今天学习了在delphi程序中嵌入xm文件。
关于此类文件的制作,工具比较多。
我个人喜欢MadTracker,因为这个软件,认识了一个瑞典的前辈,上世纪80年代就弄此类音乐的先行者。当时他说叫homestudio(所有的行为总和在一起)。
为什么要把xm嵌入Delphi Exe中呢?
是因为好多注册机都有此类小质量的音乐文件,为了用自己熟悉的开发工具也弄一个,当是学习学习。所以才有了这篇学习手记。
开始:
1. 打开网站:http://ufmod.sourceforge.net/
2. 下载:uFMOD(win32)
3. 解压
目录:ufmod-1.25-win32有很多子文件夹和两个exe。
eff.exe //此为xm文件的效果控制,用它产生两个文件。
xmstrip.exe //这个工具使用时,用两个勾选项,我不明白有什么区别
第一项是清理和strip(这个不知道如何理解)
第二项是xm标准(可能是一种协议、标准、信息格式)
\ufmod-1.25-win32\Delphi //我们要用这里的实例来学习
4. 复制一个xm文件到ufmod-1.25-win32
5. 打开xmstrip.exe,选择复制的xm文件,勾第二项(自己试下两者区别),单击GO!
6. 打开eff.exe,选择复制的xm文件,前面的控制选项,我没勾,底部,选择delphi。GO!
7. 产生了两个文件eff.inc、文件名称.pas。
我们先弄简单的方法,试验。
打开pas文件,会得到此文件被这两个工具处理过后的数据信息。
我复制一点:
const
xm : array[1..241887] of Byte = (
$45,$78,$74,$65,$6E,$64,$65,$64,$20,$4D,$6F,$64,$75,$6C,$65,$3A,
$20,$4C,$65,$76,$69,$74,$61,$74,$69,$6F,$6E,$20,$20,$20,$20,$20,
$20,$20,$20,$20,$20,$1A,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$04,$01,$14,$01,$00,$00,
$2A,$00,$00,$00,$0A,$00,$1A,$00,$10,$00,$00,$00,$09,$00,$7D,$00,
$01,$03,$00,$04,$02,$02,$00,$04,$05,$06,$06,$07,$08,$09,$0A,$0B,
$0C,$0E,$0D,$0F,$10,$11,$10,$13,$12,$12,$12,$14,$05,$06,$06,$15,
$16,$15,$16,$00,$04,$04,$19,$17,$18,$1 $18,$00,$00,$00,$00,$00,$00,
);
8. 复制全部
9. 打开\ufmod-1.25-win32\Delphi\WinMM下的test.dpr
你会发现里现同样有作者用于测试的xm文件的数据信息,将此替换为你的,编译测试一下。