Пример #1
0
        public PlaybackManager(
            MediaPlayer player,
            SettingsService settingsService,
            IPlayerPlaylistService playerPlaylistService,
            ILogService logService,
            IMusicCacheService musicCacheService)
        {
            _settingsService       = settingsService;
            _player                = player;
            _playerPlaylistService = playerPlaylistService;
            _logService            = logService;
            _musicCasheService     = musicCacheService;

            _database = new LibraryDatabase();

            _player.AutoPlay     = false;
            _player.MediaOpened += Player_MediaOpened;
            _player.MediaEnded  += Player_MediaEnded;
            _player.MediaFailed += Player_MediaFailed;

            _currentTrackID = settingsService.GetNoCache(PLAYER_TRACK_ID, -1);
            _isShuffleMode  = settingsService.GetNoCache(PLAYER_SHUFFLE_MODE, false);
            UpdateRepeatMode();
            UpdateScrobbleMode();
        }
Пример #2
0
 public PlayerService(
     ILogService logService,
     IPlayerPlaylistService playerPlaylistService,
     ITracksShuffleService tracksShuffleService,
     ISettingsService settingsService,
     IEventAggregator eventAggregator)
     : this(logService, playerPlaylistService, tracksShuffleService, settingsService)
 {
     _eventAggregator = eventAggregator;
 }
Пример #3
0
        public PlayerService(
            ILogService logService,
            IPlayerPlaylistService playerPlaylistService,
            ITracksShuffleService tracksShuffleService,
            ISettingsService settingsService)
        {
            _logService            = logService;
            _playerPlaylistService = playerPlaylistService;
            _tracksShuffleService  = tracksShuffleService;
            _settingsService       = settingsService;

            _taskStarted = new AutoResetEvent(false);
        }
Пример #4
0
        public PlayerViewModel(
            InTouch inTouch,
            IInTouchWrapper inTouchWrapper,
            INavigationService navigationService,
            IPlayerService playerService,
            IPlayerPlaylistService playerPlaylistService,
            IImagesCacheService imagesCacheService,
            ITracksShuffleService tracksShuffleService,
            IDownloadsServiceHelper downloadsServiceHelper,
            IAppLoaderService appLoaderService,
            ILastFmLoginService lastFmLoginService,
            IPurchaseService purchaseService,
            ILocService locService,
            IDialogsService dialogsService,
            IAppNotificationsService appNotificationsService,
            ISettingsService settingsService)
            : base(inTouch, appLoaderService, dialogsService, inTouchWrapper, downloadsServiceHelper,
                   playerService, locService, navigationService, purchaseService)
        {
#if DEBUG
            Debug.WriteLine("Вызван конструктор PlayerViewModel.");
#endif

            IsReloadButtonSupported  = false;
            IsShuffleButtonSupported = false;
            IsPlayButtonSupported    = false;

            _playerPlaylistService   = playerPlaylistService;
            _imagesCacheService      = imagesCacheService;
            _tracksShuffleSevice     = tracksShuffleService;
            _lastFmLoginService      = lastFmLoginService;
            _appNotificationsService = appNotificationsService;
            _settingsService         = settingsService;

            _timer = new DispatcherTimer {
                Interval = TimeSpan.FromMilliseconds(500)
            };

            NextTrackCommand     = new DelegateCommand(OnNextTrackCommand);
            PreviousTrackCommand = new DelegateCommand(OnPreviosTrackCommand);
            PlayPauseCommand     = new DelegateCommand(OnPlayPauseCommand);
            PlayTrackCommand     = new DelegateCommand <PlayerItem>(OnPlayTrackCommand);
            ShowLyricsCommand    = new DelegateCommand(OnShowLyricsCommand,
                                                       () => CurrentTrack?.Track.VKInfo != null && CurrentTrack.Track.VKInfo.LyricsID != 0);
        }
Пример #5
0
 public PlayerViewModel(
     InTouch inTouch,
     IInTouchWrapper inTouchWrapper,
     INavigationService navigationService,
     IPlayerService playerService,
     IPlayerPlaylistService playerPlaylistService,
     IImagesCacheService imagesCacheService,
     ITracksShuffleService tracksShuffleService,
     IDownloadsServiceHelper downloadsServiceHelper,
     IAppLoaderService appLoaderService,
     ILastFmLoginService lastFmLoginService,
     IPurchaseService purchaseService,
     ILocService locService,
     IDialogsService dialogsService,
     IAppNotificationsService appNotificationsService,
     ISettingsService settingsService,
     IEventAggregator eventAggregator)
     : this(inTouch, inTouchWrapper, navigationService, playerService, playerPlaylistService, imagesCacheService,
            tracksShuffleService, downloadsServiceHelper, appLoaderService, lastFmLoginService, purchaseService,
            locService, dialogsService, appNotificationsService, settingsService)
 {
     _eventAggregator = eventAggregator;
 }
Пример #6
0
        public UwpPlayerService(
            ILogService logService,
            IPlayerPlaylistService playerPlaylistService,
            ITracksShuffleService tracksShuffleService,
            ISettingsService settingsService,
            IEventAggregator eventAggregator,
            IMusicCacheService musicCacheService,
            IImagesCacheService imagesCacheService)
        {
            _logService            = logService;
            _playerPlaylistService = playerPlaylistService;
            _tracksShuffleService  = tracksShuffleService;
            _settingsService       = settingsService;
            _eventAggregator       = eventAggregator;
            _imagesCacheService    = imagesCacheService;

            CurrentPlayer = new MediaPlayer();
            CurrentPlayer.CommandManager.IsEnabled = false;
            _manager = new PlaybackManager(CurrentPlayer, _settingsService, _playerPlaylistService, _logService, musicCacheService);

            _controls = CurrentPlayer.SystemMediaTransportControls;
            _controls.ButtonPressed += Controls_ButtonPressed;
        }