DIY 个性化我想每个人都想到过,只不过往往因为很多问题有些用户无法进行 DIY 操作。今天要和大眼仔旭一起学习的是通过使用 Inno Setup 实现自动播放 MP3 音频文件达到安装包在执行的时候有背景音乐效果。Inno Setup 不仅支持 MP3 音频格式文件播放,也支持 MIDI、WAV 以及 XM 格式的音乐,只不过有些需要使用插件才能实现,大家可以根据自己的需要来选择使用。
Inno Setup ASCII 版:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 [Files]
Source: "C:/music.mp3"; Flags: dontcopy
[Code]
function mciSendString(lpstrCommand, lpstrReturnString: AnsiString; uReturnLength, hWndCallback: Integer): Integer;
external 'mciSendStringA@winmm.dll stdcall';
procedure InitializeWizard();
var
s: string;
begin
ExtractTemporaryFile('music.mp3');
if FileExists(ExpandConstant('{tmp}/music.mp3')) then begin
mciSendString(ExpandConstant('OPEN {tmp}/music.mp3 TYPE MPEGVIDEO ALIAS BGMUSIC'),s,255,0);
mciSendString(ExpandConstant('PLAY BGMUSIC REPEAT'),s,255,0);
end;
end;
Inno Setup Unicode 版:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 [Files]
Source: "C:/music.mp3"; Flags: dontcopy
[Code]
function mciSendString(lpstrCommand, lpstrReturnString: String; uReturnLength, hWndCallback: Integer): Integer;
external 'mciSendStringW@winmm.dll stdcall';
procedure InitializeWizard();
var
s: string;
begin
ExtractTemporaryFile('music.mp3');
if FileExists(ExpandConstant('{tmp}/music.mp3')) then begin
mciSendString(ExpandConstant('OPEN {tmp}/music.mp3 TYPE MPEGVIDEO ALIAS BGMUSIC'),s,255,0);
mciSendString(ExpandConstant('PLAY BGMUSIC REPEAT'),s,255,0);
end;
end;
以上就是 Inno Setup 运行时自动播放 MP3 背景音乐解决方案啦,大眼仔已经全部测试通过,大家在使用代码的时候请注意自己电脑上安装的 Inno Setup 版本是否符合,否则会造成代码运行没有效果。
该背景音乐播放无播放和暂停功能,一旦运行程序,音乐就自动开始播放,而且无限循环。更多 Inno Setup 实用教程请关注大眼仔旭。
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/courses/141586.html