public void Pause() { if (IsPlaying) { EnsureControlServiceIsAlive(); PlayerControlServiceClient controlService = new PlayerControlServiceClient(new InstanceContext(this)); try { controlService.TogglePause(); controlService.Close(); } catch (Exception) { controlService.Abort(); } _isPaused = true; } }
public void Play() { if (_currentTrack == null) { return; } if (_isPaused) { EnsureControlServiceIsAlive(); PlayerControlServiceClient controlService = new PlayerControlServiceClient(new InstanceContext(this)); try { controlService.TogglePause(); controlService.Close(); } catch (Exception) { controlService.Abort(); } } else { TrackPlayerServiceClient trackPlayer = new TrackPlayerServiceClient(); try { trackPlayer.Play(_currentTrack.TrackId); trackPlayer.Close(); } catch (Exception) { trackPlayer.Abort(); throw; } } _isPaused = false; }