VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
楼主: yangyxd

MP3之ID3v1,ID3v2.3结构读/写模块(开源) (申精)

[复制链接]
发表于 2007-5-14 10:48:03 | 显示全部楼层
这个贴一定要顶,我以前写对MP3播放类,知道不容易。向楼主致敬!!
回复 支持 反对

使用道具 举报

发表于 2007-5-15 08:01:13 | 显示全部楼层
再支持一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-15 23:28:18 | 显示全部楼层
谢谢大家支持,   我还想把读取WMA\WAV\RM格式信息的部分加上去.  不过这WMA和WAV格式的资料太少了, 只好自已分析.  编程速度慢了不少啊.
回复 支持 反对

使用道具 举报

发表于 2007-8-5 22:23:34 | 显示全部楼层
加入 APE,不?抓不到中文,你改看看,我水平差。

Private Type APETagInfo
    Title   As String
    Album   As String
    Artist  As String
    Track   As String
    Year    As String
    Genre   As String
    Comment As String
End Type

Public APETag As APETagInfo

Public Function RecupTag(ByVal Fichier As String) As Boolean
    Dim Buff    As String
    Dim Pos     As Long
    Dim Taille  As Long
    Dim T(7, 2) As String
    Dim l       As Byte
   
    T(1, 1) = "Title"
    T(2, 1) = "Album"
    T(3, 1) = "Artist"
    T(4, 1) = "Comment"
    T(5, 1) = "Genre"
    T(6, 1) = "Track"
    T(7, 1) = "Year"
   
    Taille = FileLen(Fichier)
   
    Open Fichier For Binary Access Read As #1
        Seek #1, Taille - 2000
        
        Buff = String(2000, " ")
        
        Get #1, , Buff
        
        Pos = InStr(1, Buff, "APETAG")
        Pos = Taille - (2000 + Pos)
        
        If Pos Then
            RecupTag = True
            Buff = String(Taille - Pos, " ")
            
            Get #1, Pos, Buff
            
            For a = 1 To UBound(T)
                z = InStr(1, Buff, T(a, 1))
               
                If z Then
                    l = Asc(Mid(Buff, z - 8, 1))
                    T(a, 2) = Mid(Buff, z + Len(T(a, 1)) + 1, l)
                End If
            Next
            
            With APETag
                .Title = T(1, 2)
                .Album = T(2, 2)
                .Artist = T(3, 2)
                .Comment = T(4, 2)
                .Genre = T(5, 2)
                .Track = Format(T(6, 2), "00")
                .Year = T(7, 2)
            End With
        Else
            RecupTag = False
        End If
    Close #1
End Function
回复 支持 反对

使用道具 举报

发表于 2007-8-6 09:23:59 | 显示全部楼层
下了.强烈支持
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-15 00:31:49 | 显示全部楼层
现在由于工作变动,  没时间学VB了,  这种状态可能持续一段时间吧。  

楼上说的APE方法,  先谢谢了。  

以后一定改好的。 因为我的播放器一定会完善下去的,呵呵。  

以前传的代码,  中间的一些自定义函数建议朋友们用API函数替换,因为我自已都这样做了。
回复 支持 反对

使用道具 举报

发表于 2007-11-9 15:19:16 | 显示全部楼层
老大,你那个例子执行文件,也要有个能输入文件名的地方啊,难道就一个空窗体?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-11 08:56:23 | 显示全部楼层
原帖由 vbbad 于 2007-11-9 15:19 发表
老大,你那个例子执行文件,也要有个能输入文件名的地方啊,难道就一个空窗体?



直接将路径粘到文件名后面的文本框中再点下别的地方就可以了啊   
回复 支持 反对

使用道具 举报

发表于 2007-11-18 00:38:41 | 显示全部楼层
不错哦
回复 支持 反对

使用道具 举报

发表于 2007-11-22 17:11:54 | 显示全部楼层
老大,comm字段里的 chi 不是“词”的意思,是CHI中国的缩写,对应的还有ENG等等。。。

另:不知道APE标签能读写了吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2020-5-30 04:26

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表