示例#1
0
 public override string ToString()
 {
     if (Type == ProxyType.Http)
     {
         return(InternalUri.ToString());
     }
     else
     {
         return($"{Type}:{Host}:{Port}-{Username}-xxxx");
     }
 }
示例#2
0
        private void Load()
        {
            _updatingMediaTimeline = false;
            var newUri = new InternalUri()
            {
                Url = new Uri(_address)
            };

            //fixme
            MediaPlayer.Source   = newUri.Url;
            MediaPlayer.Position = TimeSpan.FromSeconds(0);
            MediaPlayer.DownloadProgressChanged += (s, ee) =>
            {
                Download.Text = string.Format("下载{0:0.0%} ", MediaPlayer.DownloadProgress);
            };
            MediaPlayer.BufferingProgressChanged += (s, ee) =>
            {
                Buffering.Text = string.Format("缓冲{0:0.0%} ", MediaPlayer.BufferingProgress);
            };
            CompositionTarget.Rendering += (s, ee) =>
            {
                _updatingMediaTimeline = true;
                TimeSpan duration = MediaPlayer.NaturalDuration.TimeSpan;
                if (duration.TotalSeconds != 0)
                {
                    double percentComplete = MediaPlayer.Position.TotalSeconds / duration.TotalSeconds;
                    Slider.Value = percentComplete;
                    TimeSpan mediaTime = MediaPlayer.Position;
                    string   text      = string.Format("{0:00}:{1:00}", (mediaTime.Hours * 60) + mediaTime.Minutes,
                                                       mediaTime.Seconds);
                    if (Status.Text != text)
                    {
                        Status.Text            = text;
                        _updatingMediaTimeline = false;
                    }
                }
            };
            MediaPlayer.Play();
        }