Esempio n. 1
0
 private async void MediaSessionService_Play(object sender, MediaSessionEventData e)
 {
     await BlazoredVideo.StartPlayback();
 }
        public async Task StartPlaybackOf(TitleWithPlayback title, int startFrom = 0)
        {
            await BreadcrumbService.InitWithTitle(title, false);

            if (CurrentPlayback?.TitleId != title.TitleId)
            {
                if (CurrentPlayback != null)
                {
                    await HttpService.PlaybackApiAccess.UpdatePlayback(CurrentPlayback.TitleId,
                                                                       UserManagerService.CurrentUser.UserId, (int)LastKnownPosition);

                    LastKnownPosition = 0;
                    await BlazoredVideo.PausePlayback();

                    CurrentPlayback = null;
                    //base.StateHasChanged();
                    //await Task.Yield();
                }

                CurrentPlayback            = title;
                LastPlayback               = title.Playback?.FirstOrDefault();
                TitleId                    = CurrentPlayback.TitleId.ToString();
                ShowTitleInCurrentPlayback = true;
                NextTitle                  = null;

                base.StateHasChanged();
                await Task.Yield();
                await GetNextTitle();

                await BlazoredVideo.ReloadControl();

                await BlazoredVideo.SetMediaData(new MediaData()
                {
                    Title   = CurrentPlayback.Name,
                    Album   = BreadcrumbService.Season.Name,
                    Artist  = BreadcrumbService.Genre.Name,
                    Artwork = new MediaDataArtwork[]
                    {
                        new MediaDataArtwork()
                        {
                            Src   = GetPoster(),
                            Type  = MimeTypes.GetMimeType("jpeg"),
                            Sizes = "96x96"
                        },
                    }
                });
            }

            //if (!await FullscreenComponent.HasFullscreen())
            //{
            //	await FullscreenComponent.RequestFullscreen();
            //}

            if (startFrom != 0)
            {
                StateHasChanged();
                await Task.Yield();

                BlazoredVideo.CurrentTime = startFrom;
            }

            await BlazoredVideo.StartPlayback();
        }
Esempio n. 3
0
 private async void MediaSessionServiceOnPause(object sender, MediaSessionEventData e)
 {
     await BlazoredVideo.PausePlayback();
 }