Radu Matei Radu Matei - 1 month ago 15
iOS Question

iTunes RSS Feed always returns duration=30000

I'm using the following link in order to get top 10 songs from iTunes for USA:

https://itunes.apple.com/us/rss/topsongs/limit=10/explicit=true/json


I need to have every song's duration, but I always receive value 30000 for duration:

"im:duration": {
"label": "30000"
}


What does it mean, and is there a way to get the right duration value? Thanks.

Answer

I used this online time calculator and the sum of all songs's duration is 37.97 minutes; Checking a song sample Setting the World on Fire (with P!nk).

I think that 30000 is just the value of the sample duration. The RSS link that you provided doesn't contain the duration of the song(s) as is shown in the ITunes website.

If you really need the real duration of the songs, you have to use another way of get this information.


I tried use "The Widget Builder" and select "ITunes Search".

Here, when you use the widget for search a song (example: type dile), if you debug in the "Network" tab, you will get this URL:

https://itunes.apple.com/search?limit=20&country=us&media=music&entity=song&term=dile&callback=jQuery183020996109495104198_1478097762593&_=1478097910165

The results are:

{
    "wrapperType": "track",
    "kind": "song",
    "artistId": 65630139,
    "collectionId": 76542569,
    "trackId": 76542586,
    "artistName": "Don Omar",
    "collectionName": "The Last Don",
    "trackName": "Dile",
    "collectionCensoredName": "The Last Don",
    "trackCensoredName": "Dile",
    "artistViewUrl": "https://itunes.apple.com/us/artist/don-omar/id65630139?uo=4",
    "collectionViewUrl": "https://itunes.apple.com/us/album/dile/id76542569?i=76542586&uo=4",
    "trackViewUrl": "https://itunes.apple.com/us/album/dile/id76542569?i=76542586&uo=4",
    "previewUrl": "http://a1801.phobos.apple.com/us/r1000/136/Music7/v4/49/06/fe/4906fee2-16c0-9e99-64e9-e2d39c58b2b5/mzaf_6968581882856624700.plus.aac.p.m4a",
    "artworkUrl30": "http://is4.mzstatic.com/image/thumb/Music5/v4/d3/b3/6c/d3b36c67-3b50-f55e-df74-9febe37c80f9/source/30x30bb.jpg",
    "artworkUrl60": "http://is4.mzstatic.com/image/thumb/Music5/v4/d3/b3/6c/d3b36c67-3b50-f55e-df74-9febe37c80f9/source/60x60bb.jpg",
    "artworkUrl100": "http://is4.mzstatic.com/image/thumb/Music5/v4/d3/b3/6c/d3b36c67-3b50-f55e-df74-9febe37c80f9/source/100x100bb.jpg",
    "collectionPrice": 9.99,
    "trackPrice": 1.29,
    "releaseDate": "2003-06-17T07:00:00Z",
    "collectionExplicitness": "notExplicit",
    "trackExplicitness": "notExplicit",
    "discCount": 1,
    "discNumber": 1,
    "trackCount": 15,
    "trackNumber": 4,
    "trackTimeMillis": 204600,
    "country": "USA",
    "currency": "USD",
    "primaryGenreName": "Latin Urban",
    "isStreamable": true
}

There, you get the trackTimeMillis property.

Hope it helps.

Comments