vb.net - Windows Media Player 持续时间 - WinForms

标签 vb.net winforms media-player windows-media-player axwindowsmediaplayer

我正在尝试获取已加载到 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/

相关文章:

vb.net - 从数组对象vb.net播放WAV文件时,波形标题损坏错误

c# - 消息框变量

c# - 如何以编程方式恢复备份

c# - 如何将 Linq2SQL 集合数据绑定(bind)到 winform 文本字段

android - 在状态 0 下调用媒体播放器,错误 (-38,0) 错误

iphone MPMoviePlayerViewController 处理网络问题(黑屏)

vb.net - 实现多线程爬虫

vb.net - Mercury Quick Test Pro 和虚拟机 : Works from one client machine but not another

javascript - 如何从 vb.net 后面的代码读取在 jquery 中创建的 cookie?

java - 如何使用 MediaPlayer 单例