What I am doing before adding the trackIds to our "playlist" is checking each one with Deezer for the readable flag.
In a loop:
String echoCheckTrack = "http://api.deezer.com/track/" + id; String checkOutput = new CallWebservice().execute(echoCheckTrack).get(); JSONObject checkObj = new JSONObject(checkOutput); Boolean isThisReadable = checkObj.getBoolean("readable"); if( !isThisReadable || isThisReadable == null ){ //Don't add it. continue; }
Tracks that report as true for readable get added. Some when actually played turn into readable of false (see it in the Deezer TrackPlayer callback for onPlayTrack).
Sounds like it has to be something on Deezer's end. It's odd.