同じビデオを表示するためにほぼ 50 の長方形を使用する必要があるビデオ プレーヤーを作成しています。
ビジュアルブラシを使用。問題は、アプリケーションがクラッシュして表示されるほとんどの場合、クラッシュせずに何度か再生されることです
障害モジュール wpfgfx_v0400.dll であり、塗りつぶされた四角形のフレーム レートが低下します。
ありがとうございました。
コード:
string SourceFile;
MediaElement Element = new MediaElement();
public void mediaaaaa( string PathFile)
{
SourceFile = PathFile;
Element.LoadedBehavior = MediaState.Play;
Element.BeginInit();
Element.Source = new Uri(PathFile, UriKind.RelativeOrAbsolute);
Element.EndInit();
Element.UnloadedBehavior = MediaState.Close;
StackPanel dd = new StackPanel();
dd.Children.Add(Element);
Element.MediaEnded += new RoutedEventHandler(Element_MediaEnded);
WrapPanel wrap = new WrapPanel();
foreach (MediaElement item in dd.Children)
{
for (int i = 0; i < 50; i++)
{
Rectangle Vis = new Rectangle();
Vis.Fill = new VisualBrush(item);
Vis.Width = 200;
Vis.Height = 200;
wrap.Children.Add(Vis);
}
}
canvas.Children.Clear();
canvas.Children.Add(wrap);
}
void Element_MediaEnded(object sender, RoutedEventArgs e)
{
Element.Source = new Uri(SourceFile);
}