WPF MediaElement 在双(多)显示器上无法正常播放

情况:

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


参考链接:

https://blog.csdn.net/w815878564/article/details/55565985

相关推荐

网友评论(0)