我正在创建一个应用程序,它显示全屏视频,底部有一个滚动文本代码。我正在使用 MediaElement 控件一起显示视频和播放列表,并设置播放持续时间。
我将每个媒体持续时间设置如下:
var timeline = new MediaTimeline(_playlist.PlaylistItems[_playlistPlayPosition].LocalMediaFile);
timeline.Duration = _playlist.PlaylistItems[_playlistPlayPosition].Duration;
MediaViewPort.Clock = timeline.CreateClock(false) as MediaClock; //THIS CAUSES AN ISSUE!
if (MediaViewPort.Clock != null)
{
MediaViewPort.Clock.Completed += Clock_Completed;
MediaViewPort.Clock.CurrentTimeInvalidated += Clock_CurrentTimeInvalidated;
}
这一切都很好。
我找到了一个出色的滚动字幕控件(http://koderhack.blogspot.co.uk/2011/05/content-ticker-control-in-wpf.html),我按原样放入。控件不滚动。
我注释掉了这条线
MediaViewPort.Clock = timeline.CreateClock(false) as MediaClock;
并且控件开始滚动,但是现在我的媒体不再设置持续时间。
控制代码本身太大,无法在此处发布,任何想要帮助的人都在上面的 URL 上。
我看不到我的 MediaElement 控件上的 Clock 会对单独的控件产生什么影响。任何人都可以建议吗?我不想开始设置计时器来监控媒体持续时间......