注册 登录
编程论坛 VB6论坛

VB6获取音频时长,获取的不准确怎么回事?

yuma 发布于 2022-07-30 14:17, 2306 次点击
VB6用API 函数获取视频音频文件的播放时长

程序代码:
Option Explicit
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Public Function GetMusicLengthString(FileName As String) As String
Dim RefStr As String * 80
mciSendString "status " & FileName & " length", RefStr, 80, 0
GetMusicLengthString = RefStr
End Function

Private Sub Form_Load()
MsgBox GetMusicLengthString("E:\1.mp3")
End Sub


程序代码:
Option Explicit
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Private Sub Form_Load()
Dim r As String
r = String(256, Chr(0))
Dim f As String
f = "E:\1.mp3" '文件名根据自己需要改
mciSendString "Status " & f & " length", r, 256, 0
Dim m As Long
m = Val(r) \ 1000 \ 60
Dim c As Double
c = Val(r) / 1000 - m * 60
MsgBox "长度" & m & "" & c & ""
End Sub
4 回复
#2
吹水佬2022-07-30 16:22
准确的是多少
程序显示的是多少
#3
yuma2022-07-30 16:29
来,测试一下。
只有本站会员才能查看附件,请 登录
#4
吹水佬2022-07-31 08:28
回复 3楼 yuma
只有本站会员才能查看附件,请 登录

从ID3V2看是ID3v2.4,播放软件一般只支持ID3v2.3

[此贴子已经被作者于2022-7-31 08:30编辑过]

#5
吹水佬2022-07-31 11:01
转用均衡比特率编码(或固定码率)显示的时长正常
只有本站会员才能查看附件,请 登录
1