Exemple #1
0
 private void InitializeCastHandlers()
 {
     Logger.LogInformation($"{nameof(InitializeCastHandlers)}: Setting cast events...");
     _castService.OnFileLoaded      += OnFileLoaded;
     _castService.OnTimeChanged     += OnFileDurationChanged;
     _castService.OnPositionChanged += OnFilePositionChanged;
     _castService.OnEndReached      += OnFileEndReached;
     _castService.QualitiesChanged  += OnQualitiesChanged;
     _castService.OnPaused          += OnPaused;
     _castService.OnDisconnected    += OnDisconnected;
     _castService.GetSubTitles       = () => CurrentFileSubTitles.FirstOrDefault(f => f.IsSelected)?.Path;
     _castService.OnVolumeChanged   += OnVolumeChanged;
     _castService.OnFileLoadFailed  += OnFileLoadFailed;
 }
Exemple #2
0
        public Task SetFileOptions(int streamIndex, bool isAudio, bool isSubtitle, bool isQuality)
        {
            if (!isAudio && !isSubtitle && !isQuality)
            {
                return(Task.CompletedTask);
            }

            if (_currentlyPlayedFile == null)
            {
                return(Task.CompletedTask);
            }

            var options = isAudio
                ? CurrentFileAudios.FirstOrDefault(a => a.Id == streamIndex)
                : isSubtitle
                    ? CurrentFileSubTitles.FirstOrDefault(s => s.Id == streamIndex)
                    : CurrentFileQualities.FirstOrDefault(q => q.Id == streamIndex);

            return(FileOptionsChanged(options));
        }