zoukankan      html  css  js  c++  java
  • uwp,c#,全屏播放保持屏幕响应

    在开发视频app的时候,全屏播放一段时间内没有电脑操作,电脑会自动进入睡眠模式,这时就要多写些代码来保持响应了。

    (这里使用的是MediaElement播放控件,MediaElement需要手动添加代码来实现)

    官方文档链接:https://docs.microsoft.com/zh-cn/uwp/api/Windows.UI.Xaml.Controls.MediaElement

    // Create this variable at a global scope. Set it to null.
    private DisplayRequest appDisplayRequest = null;
    
    private void MediaElement_CurrentStateChanged(object sender, RoutedEventArgs e)
    {
        MediaElement mediaElement = sender as MediaElement;
        if (mediaElement != null && mediaElement.IsAudioOnly == false)
        {
            if (mediaElement.CurrentState == Windows.UI.Xaml.Media.MediaElementState.Playing)
            {                
                if (appDisplayRequest == null)
                {
                    // This call creates an instance of the DisplayRequest object. 
                    appDisplayRequest = new DisplayRequest();
                    appDisplayRequest.RequestActive();
                }
            }
            else // CurrentState is Buffering, Closed, Opening, Paused, or Stopped. 
            {
                if (appDisplayRequest != null)
                {
                    // Deactivate the display request and set the var to null.
                    appDisplayRequest.RequestRelease();
                    appDisplayRequest = null;
                }
            }            
        }
    }

    从播放页返回到上一页后,可以在page.unload();中停止激活请求。不然,在应用打开状态下,即使没有用户操作,设备也不会自动熄屏了。

    if (appDisplayRequest != null)
      {
       // Deactivate the display request and set the var to null.
       appDisplayRequest.RequestRelease();
       appDisplayRequest = null;
      }
  • 相关阅读:
    STL Allocator
    Several NeedToKnow(assert/stdin/stdout/CString/Standard C++ Library)
    VS Project Property Sheet
    进度总结(3)
    进度总结(2)
    进度总结(4)
    进度总结(7)
    进度总结(1)
    进度总结(5)
    进度总结(6)
  • 原文地址:https://www.cnblogs.com/singhwong/p/11918452.html
Copyright © 2011-2022 走看看