So I scraped the new Protobuf layout from Spotify's javascript file, and it seems that value '7' in AudioFormat is "MP3_160_ENC", which I am guessing is an encrypted MP3.
For some tracks, sending "sp/track_uri" with args ["mp3160", songid] sends a "Failed to send to backend" #116 or a "TrackError: Account subscription status not Spotify Premium" #111 .
Instead, you must send a "sp/track_uri2" command with args [songid, fileid]. This is what the web player currently does. Unfortunately though, there is no "MP3_160" file id for songs now, only a "MP3_160_ENC" file id, that then gives you a URL for an encoded MP3.
Has anyone else seen this or know of a way of decrypting the MP3's to stream? I imagine it must be some flash applet that does the decrypting.
So I scraped the new Protobuf layout from Spotify's javascript file, and it seems that value '7' in AudioFormat is "MP3_160_ENC", which I am guessing is an encrypted MP3.
For some tracks, sending "sp/track_uri" with args ["mp3160", songid] sends a "Failed to send to backend" #116 or a "TrackError: Account subscription status not Spotify Premium" #111 .
Instead, you must send a "sp/track_uri2" command with args [songid, fileid]. This is what the web player currently does. Unfortunately though, there is no "MP3_160" file id for songs now, only a "MP3_160_ENC" file id, that then gives you a URL for an encoded MP3.
Has anyone else seen this or know of a way of decrypting the MP3's to stream? I imagine it must be some flash applet that does the decrypting.