Hello, @op Thanks for amused!
But it has a small problem: not all MP3 files are recognized. An MP3 file can also begin with FF FA (with CRC protection bit cleared).
$ diff -u amused-0.19/player.c amused/player.c
--- amused-0.19/player.c 2025-05-17 17:27:43.750744216 +0300
+++ amused/player.c 2026-04-23 17:11:56.593216781 +0300
@@ -213,7 +213,8 @@
if (memcmp(buf, "fLaC", 4) == 0)
return play_flac(fd, errstr);
if (memcmp(buf, "ID3", 3) == 0 ||
- memcmp(buf, "\xFF\xFB", 2) == 0)
+ memcmp(buf, "\xFF\xFB", 2) == 0 ||
+ memcmp(buf, "\xFF\xFA", 2) == 0)
return play_mp3(fd, errstr);
if (memmem(buf, r, "OpusHead", 8) != NULL)
return play_opus(fd, errstr);