情况:
电脑双显示器,在主显示器运行程序使用MediaElement 控件播放视频正常;
但把包含MediaElement 控件的程序在副显示器上播放视频,会延迟播放及画面异常;
解决办法:
1、使用CPU进行解码计算,代码如下
private void Window_Loaded(object sender, RoutedEventArgs e) { var hwndSource = PresentationSource.FromVisual(this) as HwndSource; if (hwndSource != null) { var hwndTarget = hwndSource.CompositionTarget; if (hwndTarget != null) hwndTarget.RenderMode = RenderMode.SoftwareOnly; } }
2、让位于副屏幕的windows挪一下位置,在主屏幕上一个像素就行了,代码如下:
this.Left = bounds.Left - 1; this.Width = bounds.Width; this.Top = bounds.Top; this.Height = bounds.Height;
亲测1可用,完美解决;
参考链接: