如何读取音乐文件的信息
本帖最后由 aa147147 于 2009-5-9 13:36 编辑系统读取音乐文件的信息怎么调用??
像
这样子要怎么读取啊!!! 这些信息用au3要怎么样才能读取??? 到这个贴子参考一下就知道了!http://www.autoitx.com/forum.php?mod=viewthread&tid=5804&highlight=mp3
CDDBControl.dll注册了怎么还是这样子 呢?? RunWait("regsvr32 CDDBControl.dll /s");注册CDDBControl.dll
Global $Obj =ObjCreate("CDDBControl.CddbID3Tag")
$h_file="韩国舞曲.mp3";注意你的文件路径
$Obj.Album=123 ;专辑
$Obj.Title ='不是因为寂寞才想你';标题
$Obj.Genre ="Speech" ;流派
$Obj.LeadArtist= "Alexandr Flek";艺术家
$Obj.Year= "1994/01/09 10:00" ;发行年
$Obj.Comments="Remaster";备注
$Obj.SaveToFile($h_file)
RunWait("regsvr32 CDDBControl.dll /u /s");反注册CDDBControl.dll 吐血中。。。还是那样 我要读取的,这个是修改的。。晕西晕。。
现在就要这个读取Mp3信息的,用来增加播放本地音乐功能,和加强歌词的准确度了。
哎。。。 Hq_Read_MP3ID("FileName","Vartoaw")
读取指定的Mp3文件的相关ID2信息。
FileName:要读取的文件名。
Vartoaw:把操作的事件结果返回到Aw的变量名称。
返回的结果如下:
标题
艺术家
专辑
出品年代
备注
流派
Hq_Edit_Mp3ID("FileName",Type,"MP3ID")
修改指定的Mp3文件的相关ID2信息。
FileName:要读取的文件名。
Type:要修改的选项。
1:标题(30个字符以内)
2:艺术家(30个字符以内)
3:专辑(30个字符以内)
4:出品年代(4个字符以内)
5:备注(30个字符以内)
6:流派(0-50之间,至于具体表示请查看相关资料)
0="Blues"
1="ClassicRock"
2="Country"
3="Dance"
4="Disco"
5="Funk"
6="Grunge"
7="Hip-Hop"
8="Jazz"
9="Metal"
10="NewAge"
11="Oldies"
12="Other"
13="Pop"
14="R&B"
15="Rap"
16="Reggae"
17="Rock"
18="Techno"
19="Industrial"
20="Alternative"
21="Ska"
22="DeathMetal"
23="Pranks"
24="Soundtrack"
25="Euro-Techno"
26="Ambient"
27="Trip-Hop"
28="Vocal"
29="Jazz+Funk"
30="Fusion"
31="Trance"
32="Classical"
33="Instrumental"
34="Acid"
35="House"
36="Game"
37="SoundClip"
38="Gospel"
39="Noise"
40="AlternRock"
41="Bass"
42="Soul"
43="Punk"
44="Space"
45="Meditative"
46="InstrumentalPop"
47="InstrumentalRock"
48="Ethnic"
49="Gothic"
50="Darkwave"
……
MP3ID:要修改的具体内容。
Hq_Read_mp3Id3("FileName","Vartoaw")
读取指定的Mp3文件的相关ID3信息。
FileName:要读取的文件名。
Vartoaw:把操作的事件结果返回到Aw的变量名称。
返回的结果有很多内容,都是用回车分开的。
时间只计算到分和秒,没有计算到时。
在ID3中,内容是非常灵活的,因此就无法说是有哪些固定的内容。大家只能根据代码来获取指定的相关内容。
常见的代码有这些:
TEXT: 歌词作者 TENC: 编码
WXXX: URL链接(URL) TCOP: 版权(Copyright)
TOPE: 原艺术家 TCOM: 作曲家
TDAT: 日期 TPE3: 指挥者
TPE2: 乐队 TPE1: 艺术家相当于ID3v1的Artist
TPE4: 翻译(记录员、修改员) TYER: 年代相当于ID3v1的Year
USLT: 歌词 TALB: 专辑相当于ID3v1的Album
TIT1: 内容组描述 TIT2: 标题相当于ID3v1的Title
TIT3: 副标题 TCON: 流派(风格)相当于ID3v1的Genre见下表
TBPM: 每分钟节拍数 COMM: 注释相当于ID3v1的Comment
TDLY: 播放列表返录 TRCK: 音轨(曲号)相当于ID3v1的Track
TFLT: 文件类型 TIME: 时间
TKEY: 最初关键字 TLAN: 语言
TLEN: 长度 TMED: 媒体类型
TOAL: 原唱片集 TOFN: 原文件名
TOLY: 原歌词作者 TORY: 最初发行年份
TOWM: 文件所有者(许可证者) TPOS: 作品集部分
TPUB: 发行人 TRDA: 录制日期
TRSN: Intenet电台名称 TRSO: Intenet电台所有者
TSIZ: 大小 TSRC: ISRC(国际的标准记录代码)
TSSE: 编码使用的软件(硬件设置) UFID: 唯一的文件标识符
AENC: 音频加密技术
同时还增加了显示比特率、采样率、声道等内容。
自动计算出Mp3文件的播放时间。(只计算到分和秒,没有计算到时)
目前只能读取ID3内容,还不支持写入。而ID2的信息则可以读取与写入的。
Hq_Open_MP3File("Caption","FIleSpec","InitialDir","Filter",dflags,"Vartoaw")
打开选择文件的对话框。
Caption:文件对话框的标题。
FileSpec:默认打开的文件名。
InitialDir:默认的文件夹位置。
Filter:要打开文件的类型。
dFlags:打开文件的标志。
可以是以下几种数字的相加:
%OFN_READONLY = 1 只读
%OFN_OVERWRITEPROMPT = 2 覆盖提示
%OFN_HIDEREADONLY = 4 隐藏和只读
%OFN_NOCHANGEDIR = 8 不改为目录
%OFN_SHOWHELP = 16 显示帮助
%OFN_ENABLEHOOK = 32
%OFN_ENABLETEMPLATE = 64
%OFN_ENABLETEMPLATEHANDLE = 128
%OFN_NOVALIDATE = 256
%OFN_ALLOWMULTISELECT = 512 允许多选
%OFN_EXTENSIONDIFFERENT = 1024
%OFN_PATHMUSTEXIST = 2048 目录必须存在
%OFN_FILEMUSTEXIST = 4096 文件必须存在
%OFN_CREATEPROMPT = 8192 创建提示
%OFN_SHAREAWARE = 16384
%OFN_NOREADONLYRETURN = 32768
%OFN_NOTESTFILECREATE = 65536
%OFN_NONETWORKBUTTON = 131072
%OFN_NOLONGNAMES = 262144
%OFN_EXPLORER = 524288
%OFN_NODEREFERENCELINKS = 1048576
%OFN_LONGNAMES = 2097152
%OFN_ENABLEINCLUDENOTIFY= 4194304
%OFN_ENABLESIZING = 8388608
%OFN_DONTADDTORECENT = 33554432
%OFN_FORCESHOWHIDDEN = 268435456
至于具体的代表意思,请自己查找。
如显示只读和多选的标志:1+512
VartoAw:把选择的结果返回到Aw的变量名。
允许同时选择多个文件,只是选择后返回的结果是用空格来分开的,因此在获取结果后请自己写代码来分离文件名称。
同时修正了在获取MP3的ID3V2版本的信息时,标志的位置不一定是计算的长度,增加了自动搜索判断的功能,更加准确的获取MP3的相关信息了(在早期的版本中,会发现存在这样的问题,即计算的位置并不是真正的地址,从而造成程序出错。)现在已经解决了这个问题,并把版本的标志也改为01.10.2000。
纯粹寒秋个人爱好编写,允许自由下载使用,请勿用于商业场合。
看看AU3能不能调用Hq_ReadMp3id.dll这个DLL 我要读取的,这个是修改的。。晕西晕。。
aa147147 发表于 2009-5-7 00:47 http://www.autoitx.com/images/common/back.gif
能修改应该也能读取吧期待牛人出现 太谢谢你了。。。 调用id3tool获取MP3信息 UserInclude下有id3.au3 不需要任何dll 根据id3格式来读mp3获取信息的 UserInclude下有id3.au3 不需要任何dll 根据id3格式来读mp3获取信息的
sxd 发表于 2009-5-8 20:38 http://www.autoitx.com/images/common/back.gif
有没有ID3.AU3相关的例子? #include <ID3.au3>
$Array = _ID3TagToArray(@ScriptDir & "\心跳.mp3", 1)
$Size = UBound($Array) - 1
For $i = 0 To $Size
MsgBox(0, "", $Array[$i])
Next
这种例子很容易就写出来了……
页:
[1]
2