Skip to main content
3 of 3
Commonmark migration

The same community that brought you Ogg, FLAC, Vorbis, and now Opus, created XSPF.

Unlike M3U, XSPF is XML.

Unlike SMIL, XSPF is simple.

Unlike ASX, XSPF is open.

From a practical standpoint, however, there isn't many software out there, that supports it. I still tend to use it for little projects, etc. but aside from RockBox, VLC and I think Foobar, there aren't that many players that can understand .xspf.

From a design standpoint, .xspf is pretty well designed. It is XML, which makes it easy to maintain, write software for it, incorporate support into existing projects, or even edit it by hand:

<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
    <trackList>
        <track><location>file:///mp3s/song_1.mp3</location></track>
        <track><location>file:///mp3s/song_2.mp3</location></track>
        <track><location>file:///mp3s/song_3.mp3</location></track>
    </trackList>
</playlist>

It supports metadata, of course. Adding metadata to the individual tracks might be quite redundant, as that metadata is usually stored in the files themselves, but you might want to put info about streaming media in there, or the playlist itself, possibly. XSPF supports all that.

Personally, I've supported that playlist format on a web radio project of mine. I added it, since I was using Ogg/Vorbis, so I though it would be quite a natural addition, to make the whole thing a bit more complete. But I must say, acceptance by the audience was very minimal, most clicks were out of accident, or out of curiosity. I would suggest not relying on XSPF alone. If you have a project that deals with audio playlists, make sure you support other playlists as well...

polemon
  • 11.9k
  • 18
  • 79
  • 121