通过VBA确定MP3的比特率



因此,有一些关于阅读的问题,但没有一个真正正确地回答了如何获取未知特征的MP3文件并提取文件中包含的比特率信息,以及如何在文件中找到所述帧。

现有的一些性质相似的问题通过其他已经不存在的网站的链接得到了回答。或者链接到的内容已不存在。

我找到的最接近的是上面的技术文档http://www.mp3-tech.org/带有";MPEG音频层I/II/III帧报头";但我也需要处理MP3文件中的任何不是音频帧的内容,所以我似乎也需要找到它的信息。

如果要查找VBA函数,可以使用Microsoft Shell Controls And Automation

Function getBitrate(ByVal sPath As String) As Variant
' Reference to "Microsoft Shell Controls And Automation" is needed
Dim objShell As Shell32.Shell
Dim objFolder  As Shell32.Folder
Dim objFolderItem As Shell32.FolderItem

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(Left(sPath, InStrRev(sPath, "") - 1))
Set objFolderItem = objFolder.ParseName(Mid(sPath, InStrRev(sPath, "") + 1))

getBitrate = objFolder.GetDetailsOf(objFolderItem, 28)

End Function

用测试

Sub Test()
Dim sPath As String
sPath = "d:Musicfilename.mp3"
Debug.Print "Bitrate: ", getBitrate(sPath)
End Sub

进一步读取

最新更新