1

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

4

1 に答える 1

0

新しいスレッドの別のクロムレス ウィンドウでコントロールを起動することで、この問題を回避しました。

于 2013-08-30T12:50:18.580 に答える