“控件党”真是长江后浪推前浪啊...
就播放 mp3 这么一点芝麻大的事,还要用什么捞什子 mmtools!Delphi 的 MMSystem.pas 单元就封装了播放多媒体的函数,为啥视而不见涅:
uses MMSystem;
//把长文件名转换成 8.3 格式
function GetShortFileName(const FileName: string): string;
var
l: DWORD;
lp, sp: PChar;
begin
l := Length(FileName);
if l > MAX_PATH then
l := MAX_PATH;
lp := AllocMem(l + 1);
Move(PChar(FileName)^, lp^, l);
sp := AllocMem(l + 1);
GetShortPathName(lp, sp, l);
Result := sp;
FreeMem(sp);
FreeMem(lp);
end;
//播放 MP3 文件的过程
procedure PlayMP3(const FileName: string);
begin
mciSendString(PChar('open ' + GetShortFileName(FileName) +
' type MPEGVideo Alias mp3'), nil, 0, 0);
mciSendString('play mp3', nil, 0, 0);
mciSendString('close Animation', '', 0, 0);
end;