Esempio n. 1
0
        public async void SetLocalContent(Thumbnail content)
        {
            try
            {
                var stream = await content.CacheFile.OpenAsync(FileAccessMode.Read);

                LocalMoviePlayer.SetSource(stream, content.CacheFile.ContentType);

                var data = this.DataContext as MoviePlaybackData;
                data.FileName        = content.CacheFile.Name;
                data.CurrentPosition = TimeSpan.FromMilliseconds(0);
                data.SeekAvailable   = LocalMoviePlayer.CanSeek;

                LocalMoviePlayer.Play();
                LocalMoviePositionTimer.Start();

                if (!DetailInfoDisplayed)
                {
                    StartToShowInfo();
                }
                InfoTimer.Start();
            }
            catch (Exception ex)
            {
                if (LocalMediaFailed != null)
                {
                    LocalMediaFailed(this, ex.Message);
                }
            }
        }
Esempio n. 2
0
        private void StartPauseButton_Tapped(object sender, TappedRoutedEventArgs e)
        {
            RenewInfoTimer();

            switch (this.MovieType)
            {
            case MovieFileType.SimpleStreamingMovie:
                if (OnStreamingOperationRequested != null)
                {
                    var r = PlaybackRequest.None;
                    switch (this.PlaybackStatus)
                    {
                    case StreamStatus.Paused:
                        r = PlaybackRequest.Start;
                        break;

                    case StreamStatus.Started:
                        r = PlaybackRequest.Pause;
                        break;

                    case StreamStatus.PausedByEdge:
                        r = PlaybackRequest.Start;
                        break;
                    }
                    if (r != PlaybackRequest.None)
                    {
                        OnStreamingOperationRequested(this, new PlaybackRequestArgs()
                        {
                            Request = r
                        });
                    }
                }
                break;

            case MovieFileType.LocalMovie:
                switch (LocalMoviePlayer.CurrentState)
                {
                case MediaElementState.Paused:
                case MediaElementState.Stopped:
                    LocalMoviePlayer.Play();
                    break;

                case MediaElementState.Playing:
                    LocalMoviePlayer.Pause();
                    break;
                }
                break;
            }
        }
Esempio n. 3
0
        public void Resume()
        {
            RenewInfoTimer();

            switch (this.MovieType)
            {
            case MovieFileType.SimpleStreamingMovie:
                if (OnStreamingOperationRequested != null)
                {
                    var r = PlaybackRequest.None;
                    switch (this.PlaybackStatus)
                    {
                    case StreamStatus.Paused:
                    case StreamStatus.PausedByEdge:
                        r = PlaybackRequest.Start;
                        break;

                    default:
                        return;
                    }
                    if (r != PlaybackRequest.None)
                    {
                        OnStreamingOperationRequested(this, new PlaybackRequestArgs()
                        {
                            Request = r
                        });
                    }
                }
                break;

            case MovieFileType.LocalMovie:
                switch (LocalMoviePlayer.CurrentState)
                {
                case MediaElementState.Paused:
                case MediaElementState.Stopped:
                    LocalMoviePlayer.Play();
                    break;

                default:
                    return;
                }
                break;
            }
        }
        public void Pause()
        {
            RenewInfoTimer();

            if (PlaybackState != PlayerState.Playing)
            {
                return;
            }

            switch (MovieType)
            {
            case MovieFileType.SimpleStreamingMovie:
                OnStreamingOperationRequested?.Invoke(this, new PlaybackRequestArgs()
                {
                    Request = PlaybackRequest.Pause
                });
                break;

            case MovieFileType.LocalMovie:
                LocalMoviePlayer.Pause();
                break;
            }
        }
Esempio n. 5
0
 public void Finish()
 {
     LocalMoviePlayer.Stop();
     LocalMoviePositionTimer.Stop();
 }