我正在尝试获取已加载到 Windows Media Player 中的视频的持续时间,但它似乎返回“0.0”
我需要视频开始播放之前的持续时间值,因为视频长度决定幻灯片的宽度。
这就是我目前正在尝试做的事情:
timeElapsed = AxWindowsMediaPlayer_OnDemand.currentMedia.duration - marker.SyncTime
我也尝试过返回一个空字符串:
Dim asas As String = AxWindowsMediaPlayer_OnDemand.currentMedia.getItemInfo("Duration")
有人知道如何获取加载的视频长度吗?
最佳答案
添加对 Windows Media Player 的引用
在函数中使用以下两行来调用它
Dim VidSecs As Integer = Math.Round(GetMediaDuration(YourFilePath))'Get total seconds
Dim Vidhhmmss As String = TimeSpan.FromSeconds(Math.Round(GetMediaDuration(YourFilePath))).ToString ' Format hh:mm:ss
Public Function GetMediaDuration(ByVal MediaFile As String)
Try
Dim w As New WMPLib.WindowsMediaPlayer
Dim m As WMPLib.IWMPMedia = w.newMedia(MediaFile)
w.close()
Return m.duration
Catch ex As Exception
Return 0
End Try
End Function
关于vb.net - Windows Media Player 持续时间 - WinForms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33433145/