C# 中如何使用API函数来获取音频文件的时间长度?

2024-11-16 05:51:49
推荐回答(2个)
回答(1):

你这个lenth变量不可能取得到值啊。
ValBack = mciSendString("status"+"song length", lenth,lenth.Length, 0);
这一句你把lenth一个为""的值当作参数传给mciSendString,这是什么意思呢?
整个方法没有给lenth赋值的量,你再去取得它,它依然还是"",当然取不到了。
这个API函数不太常用,我帮你找了个详细的例子,你可以临摹一下。好好研究一下吧。

http://www.cnblogs.com/302soft/articles/627869.html

回答(2):

"获取媒体的长度 00:00
Public Function GetMusicLengthString(FileName As String) As String
Dim RefStr As String * 80
mciSendString ""status "" & CreateObject(""Scripting.FileSystemObject"").GetFile(FileName).shortpath & "" length"", RefStr, 80, 0
GetMusicLengthString = CStr(Format(Int(Val(RefStr) \ 1000 \ 60), ""00"") & "":"" & Format(Val(RefStr) \ 1000 Mod 60, ""00."") & Val(RefStr) \ 100 Mod 10)
End Function"