0

У меня есть файл без расширения, названный ради этого сообщения MyAudioFile, я знаю, что расширение этого аудиофайла aac (я проанализировал его с помощью программы с именем GSpot), но поскольку файл не имеет расширение, я не могу использовать ни один из методов, доступных в Android для определения типа MIME этого файла.Как определить формат аудиофайла, когда имя файла не включает расширение типа MIME в Android?

Есть ли встроенный метод утилиты в Android, о котором я не знаю и который позволяет мне читать информацию заголовка аудиофайла и выплевывать расширение или тип файла MIME?

Я уже пробовал MediaMetaDataRetriever и MimeTypeMap безуспешно, пропустил ли я какой-либо другой класс, который можно использовать здесь?

Возможно ли использование любых других внешних библиотек, за исключением SOX и FFMPeg?

ответ

0

Я не уверен, что понимаю, в чем проблема. MediaMetaDataRetriever- класс, используемый для определения метаданных (включая тип MIME) произвольного медиафайла. Возможно, вы используете это неправильно?

MediaMetaDataRetriever retriever = new MediaMetaDataRetriever(); 
retriever.setDataSource("file:///sdcard/fileThatIsAACButDoesntHaveExtension"); 
String mimeType = retriever.extractMetadata(MediaMetaDataRetriever.METADATA_KEY_MIMETYPE); 

Как именно вы пытаетесь использовать этот файл? Вам не нужен этот MIME-тип, чтобы использовать его (и вы, допустим, уже знаете его тип MIME - audio/mp4)

+0

Я использовал выше, он возвращает null, вы видите, что у меня есть специальные случаи, когда есть аудиофайлы с предположительно отсутствующими расширениями, моя цель - найти расширение таких файлов программно и добавить его к имени файла. –

0

Почему вы не можете просто добавить расширение вручную?

+0

Как я узнаю об этом заранее? Как я уже сказал, я проанализировал аудиофайл в приведенном выше сценарии, но есть много других аудиофайлов, я хочу знать тип mime программно. –

+0

Хорошо, я не знал, что было много других файлов. Если я правильно понял, вы хотите добавить расширение к большому количеству файлов. Теперь я не знаю GSpot, но вы используете макрос или что-то в этом роде, чтобы автоматизировать процесс и покинуть компьютер в течение ночи? – Deni