You can forward your proxy settings to the local api by using a field in the SpotifyLocalAPIConfig.
+
_spotify = new SpotifyLocalAPI(new SpotifyLocalAPIConfig
+{
+ ProxyConfig = new ProxyConfig() {
+ Host = "127.0.0.1",
+ Port = 8080
+ // Additional values like Username and Password are available
+ }
+});
+
+
Anti-Virus Blocking Response
Some Anti-Virus Software blocks the response from spotify due wrong headers.
Currently, it's confirmed for AVG's LinkScanner and Bitdefender.
diff --git a/SpotifyWebAPI/albums/index.html b/SpotifyWebAPI/albums/index.html
index b2216551..804a839f 100644
--- a/SpotifyWebAPI/albums/index.html
+++ b/SpotifyWebAPI/albums/index.html
@@ -71,6 +71,10 @@
Authentication
+
You can forward your proxy settings to the web api by using a field in the SpotifyLocalAPIConfig.
+
ProxyConfig proxyConfig = new ProxyConfig()
+{
+ Host = "127.0.0.1",
+ Port = 8080
+ // Additional values like Username and Password are available
+};
+
+SpotifyWebAPI api = new SpotifyWebAPI(proxyConfig);
+// or
+WebAPIFactory webApiFactory = new WebAPIFactory(..., proxyConfig);
+SpotifyWebAPI api = await webApiFactory.GetWebApi();
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SpotifyWebAPI/search/index.html b/SpotifyWebAPI/search/index.html
index 6a9af09d..55538835 100644
--- a/SpotifyWebAPI/search/index.html
+++ b/SpotifyWebAPI/search/index.html
@@ -71,6 +71,10 @@
Authentication
+
diff --git a/mkdocs/search_index.json b/mkdocs/search_index.json
index 28dcefde..467d054c 100644
--- a/mkdocs/search_index.json
+++ b/mkdocs/search_index.json
@@ -2,7 +2,7 @@
"docs": [
{
"location": "/",
- "text": "SpotifyAPI-NET Documentation\n\n\nAbout\n\n\nThis Library, written in C#/.NET, combines two independent SpotifyAPIs into one.\n\n\nSpotify's Web API\n (\nlink\n)\n\n\n\n\nBased on simple REST principles, our Web API endpoints return metadata in JSON format about artists, albums, and tracks directly from the Spotify catalogue.\nThe API also provides access to user-related data such as playlists and music saved in a \u201cYour Music\u201d library, subject to user\u2019s authorization.\n\n\n\n\nSpotify's \nunofficial\n Local API\n\n\n\n\nDo you ever wanted to control your local Spotify Client with some sort of API? Now you can! This API gives you full control over your spotify client.\nYou can get infos about the currently playing song, get its Album-Art, skip/pause and much more. It also features multiple Event-Interfaces.\n\n\n\n\nBoth combined can be used for any kind of application.\n\n\n\n\nInstalling\n\n\n\n\nVia NuGet Package:\n\n\n\n\nInstall-Package SpotifyAPI-NET\n//or\nInstall-Package SpotifyAPI-NET -pre\n\n\n\n\n\n\nDownload the latest binaries on the \nGitHub Release Page\n and add it to your Project\n\n\nClone the Repo and build the project on your local machine.\n\n\n\n\n\n\nProjects\n\n\nSpofy\n by \n@eltoncezar\n\n\n\n\nA Spotify mini player and notifier for Windows",
+ "text": "SpotifyAPI-NET Documentation\n\n\nAbout\n\n\nThis Library, written in C#/.NET, combines two independent SpotifyAPIs into one.\n\n\nSpotify's Web API\n (\nlink\n)\n\n\n\n\nBased on simple REST principles, our Web API endpoints return metadata in JSON format about artists, albums, and tracks directly from the Spotify catalogue.\nThe API also provides access to user-related data such as playlists and music saved in a \u201cYour Music\u201d library, subject to user\u2019s authorization.\n\n\n\n\nSpotify's \nunofficial\n Local API\n\n\n\n\nDo you ever wanted to control your local Spotify Client with some sort of API? Now you can! This API gives you full control over your spotify client.\nYou can get infos about the currently playing song, get its Album-Art, skip/pause and much more. It also features multiple Event-Interfaces.\n\n\n\n\nBoth combined can be used for any kind of application.\n\n\n\n\nInstalling\n\n\n\n\nVia NuGet Package:\n\n\n\n\nInstall-Package SpotifyAPI-NET\n//or\nInstall-Package SpotifyAPI-NET -pre\n\n\n\n\n\n\nDownload the latest binaries on the \nGitHub Release Page\n and add it to your Project\n\n\nClone the Repo and build the project on your local machine.\n\n\n\n\n\n\nProjects\n\n\nSpofy\n by \n@eltoncezar\n\n\n\n\nA Spotify mini player and notifier for Windows\n\n\n\n\nToastify\n by \n@aleab\n\n\n\n\nToastify adds global hotkeys and toast notifications to Spotify \n\n\nForked from \nnachmore/toastify",
"title": "Home"
},
{
@@ -30,6 +30,11 @@
"text": "A Spotify mini player and notifier for Windows",
"title": "Spofy by @eltoncezar"
},
+ {
+ "location": "/#toastify-by-aleab",
+ "text": "Toastify adds global hotkeys and toast notifications to Spotify Forked from nachmore/toastify",
+ "title": "Toastify by @aleab"
+ },
{
"location": "/SpotifyWebAPI/gettingstarted/",
"text": "Getting started\n\n\nThis API provides full access to the new SpotifyWebAPI introduced \nhere\n.\n\nWith it, you can search for Tracks/Albums/Artists and also get User-based information.\n\nIt's also possible to create new playlists and add tracks to it.\n\n\n\n\nFirst steps\n\n\nImports\n\nSo after you added the API to your project, you may want to add following imports to your files:\n\n\nusing SpotifyAPI.Web; //Base Namespace\nusing SpotifyAPI.Web.Auth; //All Authentication-related classes\nusing SpotifyAPI.Web.Enums; //Enums\nusing SpotifyAPI.Web.Models; //Models for the JSON-responses\n\n\n\n\nBasic-Usage\n\nNow you can actually start doing calls to the SpotifyAPI, just create a new Instance of SpotifyWebAPI:\n\n\nprivate static SpotifyWebAPI _spotify;\n\npublic static void Main(String[] args)\n{\n _spotify = new SpotifyWebAPI()\n {\n UseAuth = false, //This will disable Authentication.\n }\n FullTrack track = _spotify.GetTrack(\n3Hvu1pq89D4R0lyPBoujSv\n);\n Console.WriteLine(track.Name); //Yeay! We just printed a tracks name.\n //...\n}\n\n\n\n\n\n\nAuthentication\n\n\nIf you look through the available API-Methods, you will soon notice nearly all of them require Authentication.\nFurther infos on how to implement Authentication can be found \nhere\n\n\n\n\nExamples\n\n\nA list of small examples can be found \nhere\n. Do you think a specific example is missing? Feel free to open a PR/Issue!\n\n\n\n\nError-Handling\n\n\nEvery API-Call returns a reponse-model which consists of base-error model. To check if a specific API-Call was successful, use the following approach:\n\n\nPrivateProfile profile = _spotify.GetPrivateProfile();\nif (profile.HasError())\n{\n Console.WriteLine(\nError Status: \n + profile.Error.Status);\n Console.WriteLine(\nError Msg: \n + profile.Error.Message);\n}\n\n\n\n\nAsynchronous\n\n\nEvery API-Call now has an asynchronous method. Just append \nAsync\n to the Method-Name.\n\nExample:\n\n\npublic async void Test()\n{\n var profile = await _spotify.GetPrivateProfileAsync();\n Console.WriteLine(profile.DisplayName);\n}\n\n\n\n\n\n\nAPI-Reference\n\n\nAlbums\n\n\n\n\nGetAlbumTracks\n\n\nGetAlbum\n\n\nGetSeveralAlbums\n\n\n\n\nArtists\n\n\n\n\nGetArtist\n\n\nGetRelatedArtists\n\n\nGetArtistsTopTracks\n\n\nGetArtistsAlbums\n\n\nGetSeveralArtists\n\n\n\n\nBrowse\n\n\n\n\nGetFeaturedPlaylists\n\n\nGetNewAlbumReleases\n\n\nGetCategories\n\n\nGetCategory\n\n\nGetCategoryPlaylists\n\n\n\n\nFollow\n\n\n\n\nFollow\n\n\nUnfollow\n\n\nIsFollowing\n\n\nFollowPlaylist\n\n\nUnfollowPlaylist\n\n\nIsFollowingPlaylist\n\n\n\n\nLibrary\n\n\n\n\nSaveTracks\n\n\nSaveTrack\n\n\nGetSavedTracks\n\n\nRemoveSavedTracks\n\n\nCheckSavedTracks\n\n\nSaveAlbums\n\n\nSaveAlbum\n\n\nGetSavedAlbums\n\n\nRemoveSavedAlbums\n\n\nCheckSavedAlbums\n\n\n\n\nPlayer\n\n\n\n\nGetDevices\n\n\nGetPlayback\n\n\nGetPlayingTrack\n\n\nTransferPlayback\n\n\nResumePlayback\n\n\nPausePlayback\n\n\nSkipPlaybackToNext\n\n\nSkipPlaybackToPrevious\n\n\nSetRepeatMode\n\n\nSetVolume\n\n\nSetShuffle\n\n\n\n\nPlaylists\n\n\n\n\nGetUserPlaylists\n\n\nGetPlaylist\n\n\nGetPlaylistTracks\n\n\nCreatePlaylist\n\n\nUpdatePlaylist\n\n\nReplacePlaylistTracks\n\n\nRemovePlaylistTracks\n\n\nRemovePlaylistTrack\n\n\nAddPlaylistTracks\n\n\nAddPlaylistTrack\n\n\nReorderPlaylist\n\n\n\n\nProfiles\n\n\n\n\nGetPublicProfile\n\n\nGetPrivateProfile\n\n\n\n\nSearch\n\n\n\n\nSearchItems\n\n\n\n\nTracks\n\n\n\n\nGetSeveralTracks\n\n\nGetTrack\n\n\n\n\nUtil\n\n\n\n\nUtility-Functions",
@@ -160,6 +165,16 @@
"text": "",
"title": "Scopes"
},
+ {
+ "location": "/SpotifyWebAPI/proxy/",
+ "text": "Proxy Settings\n\n\nYou can forward your proxy settings to the web api by using a field in the \nSpotifyLocalAPIConfig\n.\n\n\nProxyConfig proxyConfig = new ProxyConfig() \n{\n Host = \n127.0.0.1\n,\n Port = 8080\n // Additional values like Username and Password are available\n};\n\nSpotifyWebAPI api = new SpotifyWebAPI(proxyConfig);\n// or\nWebAPIFactory webApiFactory = new WebAPIFactory(..., proxyConfig);\nSpotifyWebAPI api = await webApiFactory.GetWebApi();",
+ "title": "Proxy"
+ },
+ {
+ "location": "/SpotifyWebAPI/proxy/#proxy-settings",
+ "text": "You can forward your proxy settings to the web api by using a field in the SpotifyLocalAPIConfig . ProxyConfig proxyConfig = new ProxyConfig() \n{\n Host = 127.0.0.1 ,\n Port = 8080\n // Additional values like Username and Password are available\n};\n\nSpotifyWebAPI api = new SpotifyWebAPI(proxyConfig);\n// or\nWebAPIFactory webApiFactory = new WebAPIFactory(..., proxyConfig);\nSpotifyWebAPI api = await webApiFactory.GetWebApi();",
+ "title": "Proxy Settings"
+ },
{
"location": "/SpotifyWebAPI/albums/",
"text": "GetAlbumTracks\n\n\n\n\nGet Spotify catalog information about an album's tracks. Optional parameters can be used to limit the number of tracks returned.\n\n\n\n\nParamters\n \n\n\n\n\n\n\n\n\nName\n\n\nDescription\n\n\nExample\n\n\n\n\n\n\n\n\n\n\nid\n\n\nThe Spotify ID for the album.\n\n\n\"5O7V8l4SeXTymVp3IesT9C\"\n\n\n\n\n\n\n[limit]\n\n\nThe maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.\n\n\n20\n\n\n\n\n\n\n[offset]\n\n\nThe index of the first track to return. Default: 0 (the first object).\n\n\n0\n\n\n\n\n\n\n[market]\n\n\nAn ISO 3166-1 alpha-2 country code. Provide this parameter if you want to apply Track Relinking.\n\n\n\"DE\"\n\n\n\n\n\n\n\n\nReturns a \nSimpleTrack\n wrapped inside a \nPaging-object\n\n\nUsage\n \n\n\nPaging\nSimpleTrack\n tracks = _spotify.GetAlbumTracks(\n5O7V8l4SeXTymVp3IesT9C\n);\ntracks.Items.ForEach(item =\n Console.WriteLine(item.Name)); //Display all fetched Track-Names (max 20)\nConsole.WriteLine(tracks.Total.ToString()) //Display total album track count\n\n\n\n\n\n\nGetAlbum\n\n\n\n\nGet Spotify catalog information for a single album.\n\n\n\n\nParamters\n \n\n\n\n\n\n\n\n\nName\n\n\nDescription\n\n\nExample\n\n\n\n\n\n\n\n\n\n\nid\n\n\nThe Spotify ID for the album.\n\n\n5O7V8l4SeXTymVp3IesT9C\n\n\n\n\n\n\n[market]\n\n\nAn ISO 3166-1 alpha-2 country code. Provide this parameter if you want to apply Track Relinking.\n\n\n\"DE\"\n\n\n\n\n\n\n\n\nReturns a \nFullAlbum\n\n\nUsage\n \n\n\nFullAlbum album = _spotify.GetAlbum(\n5O7V8l4SeXTymVp3IesT9C\n);\nConsole.WriteLine(album.Name + \n| Popularity: \n + album.Popularity); //Display name and Popularity\n\n\n\n\n\n\nGetSeveralAlbums\n\n\n\n\nGet Spotify catalog information for multiple albums identified by their Spotify IDs.\n\n\n\n\nParamters\n \n\n\n\n\n\n\n\n\nName\n\n\nDescription\n\n\nExample\n\n\n\n\n\n\n\n\n\n\nids\n\n\nA list of the Spotify IDs for the albums. Maximum: 20 IDs.\n\n\nnew List\nString\n() { \"5O7V8l4SeXTymVp3IesT9C\" }\n\n\n\n\n\n\n[market]\n\n\nAn ISO 3166-1 alpha-2 country code. Provide this parameter if you want to apply Track Relinking.\n\n\n\"DE\"\n\n\n\n\n\n\n\n\nReturns a \nSeveralAlbums\n which Property \"Albums\" contains a list of \nFullAlbum\n\n\nUsage\n \n\n\nSeveralAlbums albums = _spotify.GetSeveralAlbums(new List\nString\n() { \n5O7V8l4SeXTymVp3IesT9C\n });\nConsole.WriteLine(albums.Albums[0].Name);",
@@ -532,7 +547,7 @@
},
{
"location": "/SpotifyLocalAPI/",
- "text": "Getting started\n\n\nThis API provides some access to the local running Spotify-Client (Windows only).\n\nYou can fetch details for the current track, play/pause, skip/previous track and\nget notified on various events.\n\n\nNOTE:\n This API is unofficial, things may break in the future and there is no\nguarantee everything works out of the box.\n\n\n\n\nFirst steps\n\n\nImports\n\nSo after you added the API to your project, you may want to add following imports to your files:\n\n\nusing SpotifyAPI.Local; //Base Namespace\nusing SpotifyAPI.Local.Enums; //Enums\nusing SpotifyAPI.Local.Models; //Models for the JSON-responses\n\n\n\n\nBasic-Usage\n\nNow you can actually start fetching infos from your spotify client, just create a new Instance of SpotifyLocalAPI:\n\n\nprivate static SpotifyLocalAPI _spotify;\n\npublic static void Main(String[] args)\n{\n _spotify = new SpotifyLocalAPI();\n if (!SpotifyLocalAPI.IsSpotifyRunning())\n return; //Make sure the spotify client is running\n if (!SpotifyLocalAPI.IsSpotifyWebHelperRunning())\n return; //Make sure the WebHelper is running\n\n if(!_spotify.Connect())\n return; //We need to call Connect before fetching infos, this will handle Auth stuff\n\n StatusResponse status = _spotify.GetStatus(); //status contains infos\n}\n\n\n\n\nConfiguration\n\n\nDifferent spotify versions often require different configuration. Some versions run their web-helper on port \n4371\n, others on \n4381\n or \n4380\n. Also, some use \nhttps\n, and others use \nhttp\n. You can use \nSpotifyLocalAPIConfig\n to configure the API:\n\n\n_spotify = new SpotifyLocalAPI(new SpotifyLocalAPIConfig\n{\n Port = 4371,\n HostUrl = \nhttps://127.0.0.1\n\n});\n\n\n\n\nAnti-Virus Blocking Response\n\n\nSome Anti-Virus Software blocks the response from spotify due wrong headers.\nCurrently, it's confirmed for AVG's LinkScanner and Bitdefender.\nAdding \nhttp://SpotifyAPI.spotilocal.com:4380\n to the URL-Exceptions seems to fix it for most users.\nMore infos can be found \nhere\n\n\nClient Status\n\n\nCalling \n_spotify.GetStatus()\n after connecting returns the following \nStatusResponse\n:\n\n\npublic int Version { get; set; }\n\npublic string ClientVersion { get; set; }\n\npublic bool Playing { get; set; }\n\npublic bool Shuffle { get; set; }\n\npublic bool Repeat { get; set; }\n\npublic bool PlayEnabled { get; set; }\n\npublic bool PrevEnabled { get; set; }\n\npublic bool NextEnabled { get; set; }\n\npublic Track Track { get; set; }\n\npublic double PlayingPosition { get; set; }\n\npublic int ServerTime { get; set; }\n\npublic double Volume { get; set; }\n\npublic bool Online { get; set; }\n\npublic bool Running { get; set; }\n\n\n\n\nMost of the properties are self-explanatory, some notes:\n\n\n\n\nShuffle\n and \nRepeat\n currently always return \nfalse\n\n\n\n\nCurrent Track\n\n\nThe current Track can be fetched via \n_spotify.GetStatus().Track\n and contains following properties/methods:\n\n\n\n\nTrackResource\n - \nSpotifyResource\n which contains Track \nName\n and \nUri\n\n\nAlbumResource\n - \nSpotifyResource\n which contains Album \nName\n and \nUri\n\n\nArtistResource\n - \nSpotifyResource\n which contains Artist \nName\n and \nUri\n (Only the main artist will be listed)\n\n\nIsAd()\n will check whether the current track is an AD\n\n\nVarious methods for getting the album art:\n\n\nstring GetAlbumArtUrl(AlbumArtSize size)\n\n\nTask\nBitmap\n GetAlbumArtAsync(AlbumArtSize size)\n\n\nBitmap GetAlbumArt(AlbumArtSize size)\n\n\nTask\nbyte[]\n GetAlbumArtAsByteArrayAsync(AlbumArtSize size)\n\n\nbyte[] GetAlbumArtAsByteArray(AlbumArtSize size)\n\n\n\n\nEvents\n\n\nTo receive events, make sure you listen for them \n_spotify.ListenForEvents = true;\n\nYou can set a \nSynchronizingObject\n, then the events will be called on the specific context\n\n\nFollowing events can be overriden:\n\n\n\n\nOnPlayStateChange\n - triggers when the player changes from \nplay\n to \npause\n and vice versa\n\n\nOnTrackChange\n - triggers when a new track will be played\n\n\nOnTrackTimeChange\n - triggers when a track is playing and track-time changes\n\n\nOnVolumeChange\n - triggeres when the internal volume of spotify changes\n\n\n\n\nMethods\n\n\nFurthermore, following methods are available:\n\n\n\n\nvoid Mute()\n - will mute the Spotify client via WindowsAPI\n\n\nvoid UnMute()\n - will unmute the Spotify client via WindowsAPI\n\n\nbool IsSpotifyMuted()\n - will return wether the Spotify client is muted\n\n\nvoid SetSpotifyVolume(float volume = 100)\n - sets the windows volume of spotify (0 - 100)\n\n\nfloat GetSpotifyVolume()\n - returns the windows volume of spotify (0 - 100)\n\n\nvoid Pause()\n - will pause spotify's playback\n\n\nvoid Play()\n - will resume spotify's playback\n\n\nvoid PlayURL(string uri, string context = \"\")\n - will play a spotify URI (track/album/playlist) in the specifc context (can be a album/playlist URI)\n\n\nvoid Skip()\n - will skip the track via an emulated media key\n\n\nvoid Previous()\n - will play the previous track via an emulated media key\n\n\nbool IsSpotifyRunning()\n - returns true if a spotify client instance is running, false if not\n\n\nbool IsSpotifyWebHelperRunning()\n - returns true if a spotify web-helper instance is running, false if not\n\n\nvoid RunSpotify()\n - will attempt to start a Spotify instance\n\n\nvoid RunSpotifyWebHelper()\n - will attempt to start a Spotify web-helper instance",
+ "text": "Getting started\n\n\nThis API provides some access to the local running Spotify-Client (Windows only).\n\nYou can fetch details for the current track, play/pause, skip/previous track and\nget notified on various events.\n\n\nNOTE:\n This API is unofficial, things may break in the future and there is no\nguarantee everything works out of the box.\n\n\n\n\nFirst steps\n\n\nImports\n\nSo after you added the API to your project, you may want to add following imports to your files:\n\n\nusing SpotifyAPI.Local; //Base Namespace\nusing SpotifyAPI.Local.Enums; //Enums\nusing SpotifyAPI.Local.Models; //Models for the JSON-responses\n\n\n\n\nBasic-Usage\n\nNow you can actually start fetching infos from your spotify client, just create a new Instance of SpotifyLocalAPI:\n\n\nprivate static SpotifyLocalAPI _spotify;\n\npublic static void Main(String[] args)\n{\n _spotify = new SpotifyLocalAPI();\n if (!SpotifyLocalAPI.IsSpotifyRunning())\n return; //Make sure the spotify client is running\n if (!SpotifyLocalAPI.IsSpotifyWebHelperRunning())\n return; //Make sure the WebHelper is running\n\n if(!_spotify.Connect())\n return; //We need to call Connect before fetching infos, this will handle Auth stuff\n\n StatusResponse status = _spotify.GetStatus(); //status contains infos\n}\n\n\n\n\nConfiguration\n\n\nDifferent spotify versions often require different configuration. Some versions run their web-helper on port \n4371\n, others on \n4381\n or \n4380\n. Also, some use \nhttps\n, and others use \nhttp\n. You can use \nSpotifyLocalAPIConfig\n to configure the API:\n\n\n_spotify = new SpotifyLocalAPI(new SpotifyLocalAPIConfig\n{\n Port = 4371,\n HostUrl = \nhttps://127.0.0.1\n\n});\n\n\n\n\nProxy Settings\n\n\nYou can forward your proxy settings to the local api by using a field in the \nSpotifyLocalAPIConfig\n.\n\n\n_spotify = new SpotifyLocalAPI(new SpotifyLocalAPIConfig\n{\n ProxyConfig = new ProxyConfig() {\n Host = \n127.0.0.1\n,\n Port = 8080\n // Additional values like Username and Password are available\n }\n});\n\n\n\n\nAnti-Virus Blocking Response\n\n\nSome Anti-Virus Software blocks the response from spotify due wrong headers.\nCurrently, it's confirmed for AVG's LinkScanner and Bitdefender.\nAdding \nhttp://SpotifyAPI.spotilocal.com:4380\n to the URL-Exceptions seems to fix it for most users.\nMore infos can be found \nhere\n\n\nClient Status\n\n\nCalling \n_spotify.GetStatus()\n after connecting returns the following \nStatusResponse\n:\n\n\npublic int Version { get; set; }\n\npublic string ClientVersion { get; set; }\n\npublic bool Playing { get; set; }\n\npublic bool Shuffle { get; set; }\n\npublic bool Repeat { get; set; }\n\npublic bool PlayEnabled { get; set; }\n\npublic bool PrevEnabled { get; set; }\n\npublic bool NextEnabled { get; set; }\n\npublic Track Track { get; set; }\n\npublic double PlayingPosition { get; set; }\n\npublic int ServerTime { get; set; }\n\npublic double Volume { get; set; }\n\npublic bool Online { get; set; }\n\npublic bool Running { get; set; }\n\n\n\n\nMost of the properties are self-explanatory, some notes:\n\n\n\n\nShuffle\n and \nRepeat\n currently always return \nfalse\n\n\n\n\nCurrent Track\n\n\nThe current Track can be fetched via \n_spotify.GetStatus().Track\n and contains following properties/methods:\n\n\n\n\nTrackResource\n - \nSpotifyResource\n which contains Track \nName\n and \nUri\n\n\nAlbumResource\n - \nSpotifyResource\n which contains Album \nName\n and \nUri\n\n\nArtistResource\n - \nSpotifyResource\n which contains Artist \nName\n and \nUri\n (Only the main artist will be listed)\n\n\nIsAd()\n will check whether the current track is an AD\n\n\nVarious methods for getting the album art:\n\n\nstring GetAlbumArtUrl(AlbumArtSize size)\n\n\nTask\nBitmap\n GetAlbumArtAsync(AlbumArtSize size)\n\n\nBitmap GetAlbumArt(AlbumArtSize size)\n\n\nTask\nbyte[]\n GetAlbumArtAsByteArrayAsync(AlbumArtSize size)\n\n\nbyte[] GetAlbumArtAsByteArray(AlbumArtSize size)\n\n\n\n\nEvents\n\n\nTo receive events, make sure you listen for them \n_spotify.ListenForEvents = true;\n\nYou can set a \nSynchronizingObject\n, then the events will be called on the specific context\n\n\nFollowing events can be overriden:\n\n\n\n\nOnPlayStateChange\n - triggers when the player changes from \nplay\n to \npause\n and vice versa\n\n\nOnTrackChange\n - triggers when a new track will be played\n\n\nOnTrackTimeChange\n - triggers when a track is playing and track-time changes\n\n\nOnVolumeChange\n - triggeres when the internal volume of spotify changes\n\n\n\n\nMethods\n\n\nFurthermore, following methods are available:\n\n\n\n\nvoid Mute()\n - will mute the Spotify client via WindowsAPI\n\n\nvoid UnMute()\n - will unmute the Spotify client via WindowsAPI\n\n\nbool IsSpotifyMuted()\n - will return wether the Spotify client is muted\n\n\nvoid SetSpotifyVolume(float volume = 100)\n - sets the windows volume of spotify (0 - 100)\n\n\nfloat GetSpotifyVolume()\n - returns the windows volume of spotify (0 - 100)\n\n\nvoid Pause()\n - will pause spotify's playback\n\n\nvoid Play()\n - will resume spotify's playback\n\n\nvoid PlayURL(string uri, string context = \"\")\n - will play a spotify URI (track/album/playlist) in the specifc context (can be a album/playlist URI)\n\n\nvoid Skip()\n - will skip the track via an emulated media key\n\n\nvoid Previous()\n - will play the previous track via an emulated media key\n\n\nbool IsSpotifyRunning()\n - returns true if a spotify client instance is running, false if not\n\n\nbool IsSpotifyWebHelperRunning()\n - returns true if a spotify web-helper instance is running, false if not\n\n\nvoid RunSpotify()\n - will attempt to start a Spotify instance\n\n\nvoid RunSpotifyWebHelper()\n - will attempt to start a Spotify web-helper instance",
"title": "SpotifyLocalAPI"
},
{
@@ -550,6 +565,11 @@
"text": "Different spotify versions often require different configuration. Some versions run their web-helper on port 4371 , others on 4381 or 4380 . Also, some use https , and others use http . You can use SpotifyLocalAPIConfig to configure the API: _spotify = new SpotifyLocalAPI(new SpotifyLocalAPIConfig\n{\n Port = 4371,\n HostUrl = https://127.0.0.1 \n});",
"title": "Configuration"
},
+ {
+ "location": "/SpotifyLocalAPI/#proxy-settings",
+ "text": "You can forward your proxy settings to the local api by using a field in the SpotifyLocalAPIConfig . _spotify = new SpotifyLocalAPI(new SpotifyLocalAPIConfig\n{\n ProxyConfig = new ProxyConfig() {\n Host = 127.0.0.1 ,\n Port = 8080\n // Additional values like Username and Password are available\n }\n});",
+ "title": "Proxy Settings"
+ },
{
"location": "/SpotifyLocalAPI/#anti-virus-blocking-response",
"text": "Some Anti-Virus Software blocks the response from spotify due wrong headers.\nCurrently, it's confirmed for AVG's LinkScanner and Bitdefender.\nAdding http://SpotifyAPI.spotilocal.com:4380 to the URL-Exceptions seems to fix it for most users.\nMore infos can be found here",
diff --git a/sitemap.xml b/sitemap.xml
index e6fd9751..ed3a9f0a 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -29,6 +29,12 @@
daily
+
+ /SpotifyWebAPI/proxy/
+ 2018-03-25
+ daily
+
+
/SpotifyWebAPI/albums/2018-03-25