【问题标题】:Media Player - Show custom Time Code媒体播放器 - 显示自定义时间码
【发布时间】:2017-03-12 05:22:26
【问题描述】:

我正在尝试为一个项目制作视频播放器,当我来到需要在正在播放的视频旁边的标签中显示时间码(某种时间戳)的阶段时,这似乎是一个相当大的挑战.

程序的功能是……影片文件名包含影片文件的录制开始时间,格式为“17:56:33_Camera01.avi”。当我使用 URL 在播放器中加载电影并单击播放时,电影会播放。我使用计时器在计时器刻度子中使用以下方法获取播放的当前位置(以秒、分和小时为单位)。

Dim PlayHour, PlayMin, PlaySec As Integer
Dim iSecond As Double = AxWindowsMediaPlayer1.Ctlcontrols.currentPosition
Dim iSpan As TimeSpan = TimeSpan.FromSeconds(iSecond)

PlayHour = iSpan.Hours.ToString.PadLeft(2, "0"c)
PlayMin = iSpan.Minutes.ToString.PadLeft(2, "0"c)
PlaySec = iSpan.Seconds.ToString.PadLeft(2, "0"c)

我的要求是通过将当前位置的时分秒添加到电影的录制时间中来动态设置标签中的时间码。

例如电影文件在加载时将显示时间码为 17:56:33",当播放开始时显示秒、分和小时(17:56:34、17:56:35 等... ) 应根据播放的实际时间开始递增。

谁能指导我正确的方向...我很长一段时间以来一直在努力解决这个问题并且没有前进...我很确定我必须为此使用Timespan但不知道如何完成这项工作。

【问题讨论】:

标签: vb.net media-player timespan


【解决方案1】:

把它粘在计时器的滴答事件中,并将间隔设置为 1...

Dim controls As WMPLib.IWMPControls3 = axWindowsMediaPlayer1.Ctlcontrols
controls.currentPositionTimecode = "[00000]01:00:30.05"
Label1.Text = controls.currentPositionString

您需要更改的只是“Label1”和“axWindowsMediaPlayer1”。您可能想使用“[00000]01:00:30.05”来获得所需的格式;这将显示 mm:ss。

【讨论】:

    【解决方案2】:

    hii 将标签添加到媒体,并将此代码添加到轨迹栏的计时器

           ` TrackBar2.Maximum = AxWindowsMediaPlayer1.Ctlcontrols.currentItem.duration
            Label3.Text = AxWindowsMediaPlayer1.Ctlcontrols.currentPositionString
            TrackBar2.Value = AxWindowsMediaPlayer1.Ctlcontrols.currentPosition
            Label4.Text = AxWindowsMediaPlayer1.Ctlcontrols.currentItem.durationString `
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多