コード例 #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 = new MoviePlaybackData();
                data.FileName        = content.CacheFile.Name;
                data.CurrentPosition = TimeSpan.FromMilliseconds(0);
                data.SeekAvailable   = LocalMoviePlayer.CanSeek;

                DataContext = data;

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

                if (!DetailInfoDisplayed)
                {
                    StartToShowInfo();
                }
                InfoTimer.Start();
            }
            catch (Exception ex)
            {
                if (LocalMediaFailed != null)
                {
                    LocalMediaFailed(this, ex.Message);
                }
            }
        }
コード例 #2
0
        public static async Task SeekMovieStreamingAsync(AvContentApiClient av, MoviePlaybackData status, TimeSpan seekTarget)
        {
            var originalStatus = status.StreamingStatus;

            if (status.StreamingStatus == StreamStatus.Error || status.StreamingStatus == StreamStatus.Invalid)
            {
                return;
            }

            if (status.StreamingStatus == StreamStatus.Started)
            {
                await PauseMovieStreamingAsync(av, status).ConfigureAwait(false);
            }

            await av.SeekStreamingPositionAsync(new PlaybackPosition()
            {
                PositionMSec = (int)seekTarget.TotalMilliseconds
            }).ConfigureAwait(false);

            if (originalStatus == StreamStatus.Started || originalStatus == StreamStatus.PausedByEdge)
            {
                await StartMovieStreamingASync(av, status).ConfigureAwait(false);
            }
        }
コード例 #3
0
 public static async Task StartMovieStreamingASync(AvContentApiClient av, MoviePlaybackData status)
 {
     await av.StartStreamingAsync().ConfigureAwait(false);
 }