用API,看行不:
function getMediaLength(Filename as string) as long
dim varName as long
mciSendString "open " & Filename & " alias MyWav", vbNullString, 0, 0
'time format milliseconds
mciSendString "Set myWav time format milliseconds", vbNullString, 0, 0 '得到文件长度
mciSendString "Status myWav Length", sReturn, 255, 0 '得到文件长度
varName = Val(sReturn) \ 1000
mciSendString "close MyWav", vbNullString, 0, 0
end function