zoukankan      html  css  js  c++  java
  • <metro>PlayToReceiver class

    PlayToReceiver class 是一个类,代表一个PlayTo的目标。它有构造函数PlayToReceiver,作用就是创建一个新的实例。PlayToReceiver有既定的事件,例如currentTimechangeRequested,意思是请求当前时间播放变化。MuteChangeRequested是弱音变化请求。它的方法有很多,如NotifyDurationChange通知时间变化,NotifyEnded通知结束,NotifyPlaying通知发挥。它的属性有,FrindlyName,SupportAudio。

     Windows.Media.PlayTo.PlayToReceiver receiver;
    Windows.System.Display.DisplayRequest display;
    Windows.UI.Core.CoreDispatcher dispatcher;
    bool seeking = false;
    private async void StartReceiverButton_Click(object sender, RoutedEventArgs e)
    {
        try
        {
            dispatcher = Window.Current.CoreWindow.Dispatcher;
            if (receiver == null)
            {
                receiver = new Windows.Media.PlayTo.PlayToReceiver();
            }
            // Add Play To Receiver events and properties
            receiver.CurrentTimeChangeRequested += receiver_CurrentTimeChangeRequested;
            receiver.MuteChangeRequested += receiver_MuteChangeRequested;
            receiver.PauseRequested += receiver_PauseRequested;
            receiver.PlaybackRateChangeRequested += receiver_PlaybackRateChangeRequested;
            receiver.PlayRequested += receiver_PlayRequested;
            receiver.SourceChangeRequested += receiver_SourceChangeRequested;
            receiver.StopRequested += receiver_StopRequested;
            receiver.TimeUpdateRequested += receiver_TimeUpdateRequested;
            receiver.VolumeChangeRequested += receiver_VolumeChangeRequested;
         receiver.FriendlyName = "Sample Play To Receiver";
            receiver.SupportsAudio = false;
            receiver.SupportsVideo = true;
            receiver.SupportsImage = false;
            // Add MediaElement events
            VideoPlayer.CurrentStateChanged += VideoPlayer_CurrentStateChanged;
            VideoPlayer.MediaEnded += VideoPlayer_MediaEnded;
            VideoPlayer.MediaFailed += VideoPlayer_MediaFailed;
            VideoPlayer.MediaOpened += VideoPlayer_MediaOpened;
            VideoPlayer.RateChanged += VideoPlayer_RateChanged;
            VideoPlayer.SeekCompleted += VideoPlayer_SeekCompleted;
            VideoPlayer.VolumeChanged += VideoPlayer_VolumeChanged;
            // Advertise the receiver on the local network and start receiving commands
            await receiver.StartAsync();
            // Prevent the screen from locking
            if (display == null)
                display = new Windows.System.Display.DisplayRequest();
            display.RequestActive();
            StatusTextBlock.Text = "'" + receiver.FriendlyName + "' started.";
        } catch{
            receiver = null;
            StatusTextBlock.Text = "Failed to start receiver."; 
    }}
    private async  void  StopReceiverButton_Click(object sender, RoutedEventArgs e){
        try  {                 if (receiver != null)    {
                await receiver.StopAsync();
                if (display != null)      display.RequestRelease();                                                                                                // Remove Play To Receiver events
                receiver.CurrentTimeChangeRequested -= receiver_CurrentTimeChangeRequested;
                receiver.MuteChangeRequested -= receiver_MuteChangeRequested;
                receiver.PauseRequested -= receiver_PauseRequested;
                receiver.PlaybackRateChangeRequested -= receiver_PlaybackRateChangeRequested;
                receiver.PlayRequested -= receiver_PlayRequested;
                receiver.SourceChangeRequested -= receiver_SourceChangeRequested;
                receiver.StopRequested -= receiver_StopRequested;
                receiver.TimeUpdateRequested -= receiver_TimeUpdateRequested;
                receiver.VolumeChangeRequested -= receiver_VolumeChangeRequested;                                                    //  Remove MediaElement events
                VideoPlayer.Pause();
                VideoPlayer.CurrentStateChanged -= VideoPlayer_CurrentStateChanged;
                VideoPlayer.MediaEnded -= VideoPlayer_MediaEnded;
                VideoPlayer.MediaFailed -= VideoPlayer_MediaFailed;
                VideoPlayer.MediaOpened -= VideoPlayer_MediaOpened;
                VideoPlayer.RateChanged -= VideoPlayer_RateChanged;
                VideoPlayer.SeekCompleted -= VideoPlayer_SeekCompleted;
                VideoPlayer.VolumeChanged -= VideoPlayer_VolumeChanged;
                StatusTextBlock.Text = "Stopped '" + receiver.FriendlyName + "'.";
            } }catch{
            StatusTextBlock.Text = "Failed to stop '" + receiver.FriendlyName + "'.";   }}
  • 相关阅读:
    MySQL 如何只导出 指定的表 的表结构和数据 ( 转 )
    速度之王 — LZ4压缩算法(三)
    lz4,pigz,gzip 3者比较
    用php实现百度网盘图片直链的代码分享
    hibernate的oracle配置(转)
    过滤器
    dom4j创建格式化的xml文件
    jstl表达式
    jsp内置对象和el表达式
    jsp 三大指令和动作标签
  • 原文地址:https://www.cnblogs.com/virgil/p/2665758.html
Copyright © 2011-2022 走看看