0

我有一個無擴展名的文件,爲這篇文章而命名MyAudioFile,我知道這個音頻文件的擴展名是aac格式(我用一個名爲GSpot的程序對它進行了分析),但由於該文件沒有擴展名,我無法使用Android中提供的任何方法來確定該文件的MIME類型。當Android中的文件名不包含MIME類型擴展名時,如何確定音頻文件的格式?

Android有什麼內建的實用方法,我不知道,哪些讓我讀取音頻文件的標題信息,並吐出擴展名或MIME類型的文件?

我已經試過MediaMetaDataRetrieverMimeTypeMap沒有成功,我錯過了其他任何可以在這裏使用的類嗎?

是否有可能使用除SOXFFMPeg之外的其他外部庫?

回答

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,你會發現我有一些特殊的情況,其中有沒有擴展名的音頻文件,我的目標是以編程方式找出這些文件的擴展名並將其附加到文件名。 – 2013-02-15 21:08:39

0

爲什麼你不能手動添加擴展名?

+0

如何事先知道擴展名?正如我所說我分析了上述情況下的音頻文件,但還有很多其他音頻文件,我想知道編程的MIME類型。 – 2013-02-15 20:44:00

+0

好吧,我不知道有很多其他文件。如果我已經正確地理解了你,你想將擴展添加到很多文件中。現在我不知道GSpot,但是你使用了一個宏或類似的東西來自動化這個過程,並讓計算機過夜? – Deni 2013-02-15 22:31:25

相關問題