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; }
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)); }