Moved music playing controls from individual viewmodels to main view
This commit is contained in:
@ -31,7 +31,6 @@ namespace Aurora.Design.Views.Party
|
||||
private ObservableCollection<PartyMember> _members;
|
||||
private ObservableCollection<BaseMedia> _queue;
|
||||
private BaseMedia _selectedMedia;
|
||||
private PlayerService _player;
|
||||
private ClientService _client;
|
||||
|
||||
public PartyViewModel()
|
||||
@ -43,7 +42,6 @@ namespace Aurora.Design.Views.Party
|
||||
_queue = new ObservableCollection<BaseMedia>();
|
||||
|
||||
SetState(PartyState.SelectingHost);
|
||||
this._player = PlayerService.Instance;
|
||||
|
||||
PlayCommand = new Command(OnDoubleClickExecute, CanDoubleClickExecute);
|
||||
|
||||
@ -296,40 +294,33 @@ namespace Aurora.Design.Views.Party
|
||||
|
||||
public override void OnPlayButtonExecute()
|
||||
{
|
||||
switch (_player.PlaybackState)
|
||||
if (base.IsPlaying())
|
||||
{
|
||||
case PlaybackState.Buffering:
|
||||
{
|
||||
//Fire play resume event
|
||||
AudioMetadata meta = _selectedMedia.Metadata as AudioMetadata;
|
||||
MediaResumedEvent mediaResumed = new MediaResumedEvent();
|
||||
//Fire play stopped event
|
||||
AudioMetadata meta = _selectedMedia.Metadata as AudioMetadata;
|
||||
MediaPausedEvent mediaPaused = new MediaPausedEvent();
|
||||
|
||||
EventManager.Instance.FireEvent(new BaseEvent()
|
||||
{
|
||||
MediaResumedEvent = mediaResumed
|
||||
});
|
||||
EventManager.Instance.FireEvent(new BaseEvent()
|
||||
{
|
||||
MediaPausedEvent = mediaPaused
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
//Fire play resume event
|
||||
AudioMetadata meta = _selectedMedia.Metadata as AudioMetadata;
|
||||
MediaResumedEvent mediaResumed = new MediaResumedEvent();
|
||||
|
||||
break;
|
||||
}
|
||||
case PlaybackState.Playing:
|
||||
{
|
||||
//Fire play stopped event
|
||||
AudioMetadata meta = _selectedMedia.Metadata as AudioMetadata;
|
||||
MediaPausedEvent mediaPaused = new MediaPausedEvent();
|
||||
|
||||
EventManager.Instance.FireEvent(new BaseEvent()
|
||||
{
|
||||
MediaPausedEvent = mediaPaused
|
||||
});
|
||||
|
||||
break;
|
||||
}
|
||||
EventManager.Instance.FireEvent(new BaseEvent()
|
||||
{
|
||||
MediaResumedEvent = mediaResumed
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public override bool CanPlayButtonExecute()
|
||||
{
|
||||
return this._state == PartyState.Hosting && this._player.IsLoaded;
|
||||
return this._state == PartyState.Hosting;
|
||||
}
|
||||
|
||||
public override bool CanNextButtonExecute()
|
||||
@ -491,21 +482,19 @@ namespace Aurora.Design.Views.Party
|
||||
return null;
|
||||
}
|
||||
}
|
||||
private async void PlayFromBeginning(BaseMedia args)
|
||||
private void PlayFromBeginning(BaseMedia args)
|
||||
{
|
||||
base.Media = args;
|
||||
await _player.LoadMedia(base.Media).ConfigureAwait(true);
|
||||
_player.Play();
|
||||
base.ChangePlayerState(args, Main.PlayAction.Play);
|
||||
}
|
||||
|
||||
private void PlayResume()
|
||||
{
|
||||
_player.Play();
|
||||
base.ChangePlayerState(null, Main.PlayAction.Resume);
|
||||
}
|
||||
|
||||
private void StopPlaying()
|
||||
{
|
||||
_player.Pause();
|
||||
base.ChangePlayerState(null, Main.PlayAction.Pause);
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
|
Reference in New Issue
Block a user