情况:
电脑双显示器,在主显示器运行程序使用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可用,完美解决;
参考链接: