有没有办法使用 Windows Media Player SDK 在特定位置停止视频?我正在使用 C# 嵌入播放器并尝试查看 IWMPControls3 接口在位置或时间方面是否在特定点具有任何停止功能。如果可以做到,那该怎么做呢?
问问题
2691 次
2 回答
0
当然可以,虽然我不记得这些技术了。您可以通过多种方式很好地访问流中的数据,以重建音频和视频的各个帧。人们已经编写了系统,用户可以在其中键入精确的时间和帧数,然后视频播放器会跳转到该位置。
由于您的问题是“有没有办法”,所以答案是“是的”。但是,我不记得足够的细节来告诉你如何去做。
于 2009-07-16T16:43:19.573 回答
0
就像我在这里的同一个问题中解释的那样,您可以使用计时器来控制 CurrentPosition:
private Timer tmrWmpPlayerPosition;
private TimeSpan StopPosition;
private void btn_Click(object sender, EventArgs e)
{
wmpPlayer.Ctlcontrols.currentPosition = 4;
StopPosition=TimeSpan.Parse("00:20:20");
StopWmpPlayerTimer();
StartWmpPlayerTimer();
}
private void tmrWmpPlayerPosition_Tick(object sender, EventArgs e)
{
if ((Convert.ToInt32(StopPosition.TotalSeconds) != Convert.ToInt32(wmpPlayer.Ctlcontrols.currentPosition))) return;
wmpPlayer.Ctlcontrols.pause();
StopWmpPlayerTimer();
}
private void StartWmpPlayerTimer()
{
tmrWmpPlayerPosition = new Timer();
tmrWmpPlayerPosition.Tick += new EventHandler(tmrWmpPlayerPosition_Tick);
tmrWmpPlayerPosition.Enabled = true;
tmrWmpPlayerPosition.Interval = 1000;
tmrWmpPlayerPosition.Start();
}
private void StopWmpPlayerTimer()
{
if (tmrWmpPlayerPosition != null)
tmrWmpPlayerPosition.Dispose();
tmrWmpPlayerPosition = null;
}
于 2014-09-24T05:56:00.620 回答