【问题标题】:Windows Media Player Duration - WinFormsWindows Media Player 持续时间 - WinForms
【发布时间】:2015-10-30 09:56:10
【问题描述】:
我正在尝试获取已加载到 Windows Media Player 中的视频的持续时间,但它似乎返回“0.0”
我需要视频开始播放之前的持续时间值,因为视频长度决定了幻灯片的宽度。
这就是我目前正在尝试的方式:
timeElapsed = AxWindowsMediaPlayer_OnDemand.currentMedia.duration - marker.SyncTime
我也试过这个,它返回一个空字符串:
Dim asas As String = AxWindowsMediaPlayer_OnDemand.currentMedia.getItemInfo("Duration")
有人知道如何获取加载的视频长度吗?
【问题讨论】:
标签:
vb.net
winforms
media-player
windows-media-player
axwindowsmediaplayer
【解决方案1】:
添加对 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