
'获取媒体的长度 00:00
Public Function GetMusicLengthString(FileName As String) As String
Dim RefStr As String 80
mciSendString "status " & FileName & " 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
播放时间:
1定义一个>局部的变量,设置为整数型;
2建立一个时钟,设置时钟周期为0;
3当播放MP3时设置时钟的时钟周期为1000,在时钟的时钟周期子程序中将变量=变量+1(变量在这里作秒)
4若要显示分:秒,可以将变量除以60,将结果取整即为分,取余即为秒。
歌词:
在这里提示以下几点:
1读取歌词中的文本和时间要用分割文本()
2可以用上面的变量,也可以用别的变量,使歌词精准到毫秒。
import librosa
import os
filedir = 'E:/data'
list = oslistdir(filedir)
time_count = 0
for file in list:
if 'wav' in file:
wav_path = filedir + '/' + file
duration = librosaget_duration(filename=wav_path)
print(duration)
time_count += duration
print('总秒数:' + str(time_count))
print('总小时数:' + str(time_count / 60 / 60))
把它加载到一个mediapalyer里面去,然后就可以通过getDuration()接口获取到了 MediaPlayer 可以播放音频和视频,另外也可以通过VideoView来播放视频,虽然VideoView比MediaPlayer简单易用,但定制性不如用 MediaPlayer,要视情况选择了。MediaPlayer播放音频比较简单,但是要播放视频就需要SurfaceView。 SurfaceView比普通的自定义View更有绘图上的优势,它支持完全的OpenGL ES库。
你这个lenth变量不可能取得到值啊。
ValBack = mciSendString("status"+"song length", lenth,lenthLength, 0);
这一句你把lenth一个为""的值当作参数传给mciSendString,这是什么意思呢?
整个方法没有给lenth赋值的量,你再去取得它,它依然还是"",当然取不到了。
这个API函数不太常用,我帮你找了个详细的例子,你可以临摹一下。好好研究一下吧。
>
以上就是关于VB 用API 函数如何获取视频音频文件的播放时长全部的内容,包括:VB 用API 函数如何获取视频音频文件的播放时长、用易语言获取MP3文件播放时间;还有歌词的问题,有啥办法么、python统计音频文件的时长等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)