А как можно _легко_ взять и посмотреть mime-type файла? И даже пусть бэкенд поддерживает разбор matroska, но если, допустим, видеокодек не поддерживается, то mime-type не поможет. Единственный гарантированный способ - попытаться проиграть.
Это примерно тот же случай, когда на Камчатке люди одевают повязки против поросячего гриппа. Покажи мне хоть один публичный источник с музыкой или другим аудио-контентом в mka.
Вот из-за таких, извиняюсь, мизантропов получаются всякие монстры вроде мозиллы или опенофиса. Когда человек пишет программу не для реальных условий, а для сферического пользователя в вакууме.
Вот ты подумай, если человек просто хочет просканировать каталог с музыкой. Если ты будешь пытаться проиграть каждый файл, то увеличишь время сканирования в несколько раз. При проверке mime-type ты _возможно_ захватишь несколько файлов, которые проиграть не получится. В таком случае можно просто выдать сообщение, что "не шмогла я, ну не шмогла" и все.
А если объемы музыки огромны? Если это большой каталог мультимедийного контента, который постоянно пополняется? Какая-нибудь радиостанция, например.
Это только один случай. Если все писать по такому принципу, то на выходе всегда будем получать мозиллу.
Ну да. Из-за возможности появления на околоземной орбите розовых слоников будем покупать кластер за несколько штук денег, вместо того, чтобы поставить все популярные кодеки.
Вообще-то у радиостанций контент должен быть куплен. Свежие CD логично паковать в один нормальный формат типа FLAC. Конечно, на вашем радио "Гоп-стоп FM" всё по другому.
Не были, но можно догадаться. Кстати, ритмбокс и другие плееры с коллекцией скаинируют музыку именно таким образом. Если не получается проиграть - ритмбокс ищет кодеки.