AIMP Forum
AIMP for Android => Ошибки и замечания / Bugs => Topic started by: tikenn on September 17, 2026, 00:56:33
-
Description
AIMP for Android does not appear to resolve relative <location> URIs correctly when an XSPF playlist is imported from an HTTP/HTTPS URL.
The same remote XSPF playlist works correctly in AIMP for Windows. On Android, AIMP successfully downloads and parses the XSPF and displays the track title, but playback fails with:
Failed to load the file (7)
It seems the file was moved or deleted.
If I add an absolute xml:base URI to the XSPF <playlist> element, the same track plays correctly on Android.
Minimal example
Assume the playlist is temporarily available at:
https://example.com/piano-playlist/index.xspf (https://example.com/piano-playlist/index.xspf)
and the audio file is:
https://example.com/piano-playlist/test.wav (https://example.com/piano-playlist/test.wav)
XSPF:
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
<title>Test Playlist</title>
<trackList>
<track>
<location>test.wav</location>
<title>Test Track</title>
</track>
</trackList>
</playlist>
Steps to reproduce
index.xspf and test.wavin the same HTTP/HTTPS directory.[/li]
- In AIMP for Android, use Import playlist from URL and enter the URL of index.xspf.
- AIMP successfully imports the playlist and displays Test Track.
- Attempt to play the track.
- AIMP reports that the file cannot be found.
Expected behavior
Because the XSPF document was retrieved from:
https://example.com/piano-playlist/index.xspf (https://example.com/piano-playlist/index.xspf)
the relative location:
test.wav
should resolve to:
https://example.com/piano-playlist/test.wav (https://example.com/piano-playlist/test.wav)
Actual behavior
AIMP Android imports the track but cannot locate/play the audio file.
Workaround
Adding an absolute XML Base makes playback work:
<playlist
version="1"
xmlns="http://xspf.org/ns/0/"
xml:base="https://example.com/piano-playlist/">
With that change, <location>test.wav</location> plays correctly.
Additional testing
- Remote XSPF with relative <location>test.wav</location>: fails on Android
- Remote XSPF with root-relative <location>/piano-playlist/test.wav</location>: fails on Android
- Remote XSPF with relative location plus absolute xml:base: works on Android
- The remote XSPF with relative track locations works correctly in AIMP for Windows
- Other media players tested on Android can resolve the relative location from the remote XSPF
I would prefer not to use an absolute xml:base, because doing so unnecessarily couples the playlist to a particular publishing hostname/protocol.
Note about URLs
The example.com URLs above are intentionally illustrative. My actual test server and playlist are under active development, so any URLs I provide during testing should not be expected to remain available permanently. I am happy to provide a temporary reproducible test playlist or AIMP log if needed.
Please let me know if a debug log or additional test case would be useful.
-
Thanks, fixed.