我正在尝试制作一个项目的视频播放器,当我来到一个舞台,我需要在正在播放的视频旁边的标签中显示时间码(时间戳)时,这似乎是一个很大的挑战
程序的功能是......电影文件名包含电影文件的录制开始时间,格式为“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但不知道如何做到这一点。
答案 0 :(得分:0)
将此粘贴在计时器的tick事件中,并将间隔设置为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。
答案 1 :(得分:0)
hii向媒体添加标签,将此代码添加到曲目栏的计时器
` TrackBar2.Maximum = AxWindowsMediaPlayer1.Ctlcontrols.currentItem.duration
Label3.Text = AxWindowsMediaPlayer1.Ctlcontrols.currentPositionString
TrackBar2.Value = AxWindowsMediaPlayer1.Ctlcontrols.currentPosition
Label4.Text = AxWindowsMediaPlayer1.Ctlcontrols.currentItem.durationString `