Example #1
0
 /// <inheritdoc />
 public Task <WebResponse> PausePlayback(string deviceId = null)
 {
     return(ApiClient.PutAsync <object>(
                BaseApi.MakeUri($"me/player/pause{BaseApi.AddDeviceId("?", deviceId)}"),
                null,
                this.Token));
 }
Example #2
0
 /// <inheritdoc />
 public Task <WebResponse> Previous(string deviceId = null)
 {
     return(ApiClient.PostAsync <object>(
                BaseApi.MakeUri($"me/player/previous{BaseApi.AddDeviceId("?", deviceId)}"),
                null,
                this.Token));
 }
Example #3
0
 /// <inheritdoc />
 public Task <WebResponse> SetVolume(int volumePercent, string deviceId = null)
 {
     return(ApiClient.PutAsync <object>(
                BaseApi.MakeUri($"me/player/volume?volume_percent={volumePercent}{BaseApi.AddDeviceId("&", deviceId)}"),
                null,
                this.Token));
 }
Example #4
0
 /// <inheritdoc />
 public Task <WebResponse> SetShuffle(bool state, string deviceId = null)
 {
     return(ApiClient.PutAsync <object>(
                BaseApi.MakeUri($"me/player/shuffle?state={state.ToString().ToLower()}{BaseApi.AddDeviceId("&", deviceId)}"),
                null,
                this.Token));
 }
Example #5
0
 /// <inheritdoc />
 public Task <WebResponse> Seek(int positionMs, string deviceId = null)
 {
     return(ApiClient.PutAsync <object>(
                BaseApi.MakeUri($"me/player/seek?position_ms={positionMs}{BaseApi.AddDeviceId("&", deviceId)}"),
                null,
                this.Token));
 }
Example #6
0
        /// <inheritdoc />
        public async Task <DevicesContainer> GetAvailableDevices()
        {
            var r = await ApiClient.GetAsync <DevicesContainer>(BaseApi.MakeUri("me/player/devices"), this.Token);

            if (r.Response is DevicesContainer res)
            {
                return(res);
            }

            return(new DevicesContainer());
        }
Example #7
0
 /// <inheritdoc />
 public Task <WebResponse> TransferPlayback(List <string> deviceId, bool?play = null)
 {
     return(ApiClient.PutAsync <object>(
                BaseApi.MakeUri($"me/player"),
                new
     {
         device_ids = deviceId,
         play
     },
                this.Token));
 }
Example #8
0
 /// <inheritdoc />
 public Task <WebResponse> StartPlayback(string deviceId = null, SpotifyUri contextUri = null, List <SpotifyUri> uris = null, IPlaybackOffset offset = null)
 {
     return(ApiClient.PutAsync <object>(
                BaseApi.MakeUri($"me/player/play{BaseApi.AddDeviceId("?", deviceId)}"),
                new
     {
         context_uri = contextUri?.FullUri,
         uris = uris?.Select(o => o.FullUri),
         offset
     },
                this.Token));
 }
Example #9
0
        /// <inheritdoc />
        public async Task <CurrentlyPlayingContext> GetCurrentlyPlayingContext(string market = "")
        {
            var r = await ApiClient.GetAsync <CurrentlyPlayingContext>(
                BaseApi.MakeUri($"me/player{BaseApi.AddMarketCode("?", market)}"),
                this.Token);

            if (r.Response is CurrentlyPlayingContext res)
            {
                return(res);
            }

            return(new CurrentlyPlayingContext());
        }