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); } } }
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; } }
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 Resume() { RenewInfoTimer(); if (PlaybackState != PlayerState.PausedOrStopped) { return; } switch (MovieType) { case MovieFileType.SimpleStreamingMovie: OnStreamingOperationRequested?.Invoke(this, new PlaybackRequestArgs() { Request = PlaybackRequest.Start }); break; case MovieFileType.LocalMovie: LocalMoviePlayer.Play(); break; } }