VB 用API 函数如何获取视频音频文件的播放时长

VB 用API 函数如何获取视频音频文件的播放时长,第1张

'获取媒体的长度 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统计音频文件的时长等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9595838.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存