【WPF知识积累】MediaElement在windows7上双显示器播放的问题

当系统接入了多个显示器,而我们的Window又位于非主屏幕,可能会出现MediaElement无法正常工作的情况(这个情况在windows7有,windows10已经修复了,windows8和8.1不太清楚)。大概的解决办法有下面几种:
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;

3、使用其他播放器,比如vlc或者ffmpeg。关于vlc的播放器,可以使用这个开源的播放器框架:Meta.Vlc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值