0

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

程序的功能是……影片文件名包含影片文件的录制开始时间,格式为“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但不知道如何获得这完成了。

4

2 回答 2

0

将其粘贴在计时器的滴答事件中并将间隔设置为 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。

于 2013-10-14T19:18:39.533 回答
0

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

       ` TrackBar2.Maximum = AxWindowsMediaPlayer1.Ctlcontrols.currentItem.duration
        Label3.Text = AxWindowsMediaPlayer1.Ctlcontrols.currentPositionString
        TrackBar2.Value = AxWindowsMediaPlayer1.Ctlcontrols.currentPosition
        Label4.Text = AxWindowsMediaPlayer1.Ctlcontrols.currentItem.durationString `
于 2017-01-31T22:25:31.643 回答