Valid HTML 4.01 Transitional
Prev: Install Linux on Virtualbox, Infinite Loop Next: Debugging XDMCP X-Windows Service
Jim Carter's Bugfixes

Converting M3U to Zune ZPL Playlists

James F. Carter

The player on Windows Phone 7 says it doesn't support M3U playlists.

How to fix:

If you want it to play your media, you're going to have to give it playlists that it can understand, namely native Zune playlists, with an extension of .zpl . Here's a useful reference: How to Convert M3U Winamp, iTunes Playlist to Zpl Zune Playlist for Syncing with Windows Phone 7 by wp7geek (possibly Rohan Kadam) dated 2011-06-20.

The format of the ZPL file is similar to WPL (Windows Media Player playlist) except WPL uses relative filenames (I guess relative to the playlist) whereas ZPL uses absolute paths. The file should begin with this header:


Fill In Title Here

I'm not sure whether you need an exact match on the various GUIDs, or what you're matching against -- best to copy it verbatim. The title element gives the name by which the playlist will be reported in the indices. The smil element extends to the very end of the playlist.

Here's an authentic playlist header generated by jimc, with more meta items:


Note these items:

Each track is represented by one media element, which has no stuffing. Its attributes are:

  • src=
    Full path name of the track file, whatever.mp3 . It remains to be seen if a URL could appear here, or if a relative path name is given, whether it is relative to the playlist.
  • albumTitle=

    Title of album.

  • albumArtist=

    Artist for the whole album.

  • trackTitle=

    Title of track. Multi-movement works such as symphonies are not anticipated in this scheme.

  • trackArtist=

    Artist who performed the particular track.

  • duration=

    Length of the track in decimal milliseconds, e.g. 502543 means 520 seconds plus 243 msec.

  • Presumably some of these could be omitted, but the music player's GUI is designed to show them.

    In the referenced URL, it's assumed that you will be editing the playlists by hand with Notepad. It's left as an exercise for the reader how to automate this process on Linux.

    Prev: Install Linux on Virtualbox, Infinite Loop Next: Debugging XDMCP X-Windows Service