开发笔记

Win10 UWP播放视频时阻止屏幕锁定

在全屏播放视频时,设备屏幕会自动保持常亮。但是在非全屏状态下,屏幕就会自动关闭。所以我们需要让屏幕在播放状态时,保持常亮。

微软的官方文档里面是有详细的介绍。微软官方文档链接
但是完全按照这个代码写会报错。也是真真的醉了~?

解决方法:(按照如下代码就没问题了)

 private async void PlaybackSession_PlaybackStateChanged(MediaPlaybackSession sender, object args)
        {
            if (sender is MediaPlaybackSession playbackSession && playbackSession.NaturalVideoHeight != 0)
            {
                if (playbackSession.PlaybackState == MediaPlaybackState.Playing)
                {
           // 跨线程操作UI 
                    await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
                    {
                        if (appDisplayRequest == null)
                        {
                            // This call creates an instance of the DisplayRequest object
                            appDisplayRequest = new DisplayRequest();
                            appDisplayRequest.RequestActive();
                        }
                    });
                    
                }
                else // PlaybackState is Buffering, None, Opening, or Paused.
                {
                    await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
                    {
                        if (appDisplayRequest != null)
                        {
                            // Deactivate the display request and set the var to null.
                            appDisplayRequest.RequestRelease();
                            appDisplayRequest = null;
                        }
                    });
                    
                }
            }
        }

话说,16年微软官方博客写这个的时候下面就有人评论这个问题。官方文档对我这样的小白也太不友好了。?
链接:How to prevent screen locks in your UWP apps

展开阅读全文

CentOS7安装最新版BBR内核 备份

上一篇

Win10 UWP自定义MediaTransportControl的数据绑定问题

下一篇

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片
Win10 UWP播放视频时阻止屏幕锁定

长按储存图像,分享给朋友