下部にスクロール テキスト ティッカーを含む全画面ビデオを表示するアプリケーションを作成しています。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 コントロールのクロックが別のコントロールにこの影響を与えるものを確認できません。誰でもアドバイスできますか?メディアの長さを監視するためにタイマーの設定を開始したくない...