delphi得到MP3音乐文件里面的信息

{
关键字=得到音乐文件里面的信息
采集软件=MKM - 我的知识管理
采集日期=2023-11-23 18:25:26
数字签名=C1C7263FA648800B669BF659B2E12E34
}

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, shellapi, ExtCtrls, OleCtrls, SHDocVw, jpeg,
MMSystem, tlhelp32,
DateUtils;

uses
ShlObj, ActiveX, ComObj;

//得到音乐文件里面的信息
function TForm1.getinfoall(strfilename: string): string;
var
ObjShell, objFolder, objFolderItem: OLEVariant;
i: Integer;
Info: string;

begin
{得到音乐文件里面的信息
}
ObjShell := CreateOLEObject(‘Shell.Application’);
objFolder := ObjShell.NameSpace(extractfilepath(strfilename));
objFolderItem := objFolder.ParseName(extractfilename(strfilename));
Info := objFolder.GetDetailsOf(objFolderItem, 0);
for i := 1 to 36 do
Info := Info + #13#10
+ objFolder.GetDetailsOf(objFolderItem, i);
// for more please see msdn "GetDetailsOf "
//MessageBox(handle, PChar(Info), ‘fff’, 0);
// ObjShell.free; //???
getinfoall := Info;
end;

//得到曲名
function getsongname(strallinfo: string): string;
var
str1, str2, strtmp: string;
sltmp: tstringlist;
begin
{
得到曲名
}
sltmp := tstringlist.Create;
sltmp.Text := strallinfo;
str1 := trim(sltmp.Strings[10]); //曲名
//str2 := trim(sltmp.Strings[16]);

strtmp := ‘佚名’;
if str1 <> ‘’ then strtmp := str1; //作者
//if str2 <> ‘’ then strtmp := str2; //艺术家 如果有,最终用这个

sltmp.free;
result := strtmp;
end;

//得到数据结构中的艺术家
function getanthor(strallinfo: string): string;
var
str1, str2, stranthor: string;
sltmp: tstringlist;
begin
{
得到数据结构中的艺术家
}
sltmp := tstringlist.Create;
sltmp.Text := strallinfo;
str1 := trim(sltmp.Strings[9]);
str2 := trim(sltmp.Strings[16]);

stranthor := ‘’;
if str1 <> ‘’ then stranthor := str1; //作者
if str2 <> ‘’ then stranthor := str2; //艺术家 如果有,最终用这个

sltmp.free;
result := stranthor;
end;

//得到乐曲时长songtime
function getsongtime(strallinfo: string): string;
var
str1, str2, strtmp: string;
sltmp: tstringlist;
begin
{
得到乐曲时长songtime
}
sltmp := tstringlist.Create;
sltmp.Text := strallinfo;
str1 := trim(sltmp.Strings[21]); //歌曲持续时间

strtmp := ‘00:00:00’;
if str1 <> ‘’ then strtmp := str1; //

sltmp.free;
result := strtmp;
end;

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欧色

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值