【问题标题】: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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多