使用java查找mime类型的wma文件

时间:2011-02-10 21:49:02

标签: java audio mime wma apache-tika

我正在使用apache tika来检测mime类型的音频和视频文件。出于某种原因,tika将wma文件的mime类型(Microsoft拥有的Windows Media Audio格式)报告为application / octet-stream。你知道在java中找到mime类型文件的更好方法吗?或者我可以使用tika本身查询此信息吗?

2 个答案:

答案 0 :(得分:1)

如果为他们提供文件名,Tika应该能够检测到文件,例如

Metadata m = new Metadata();
m.add(Metadata.RESOURCE_NAME_KEY, filename);
detector.detect(stream, m);

我已经打开https://issues.apache.org/jira/browse/TIKA-629来跟踪缺少mime魔法检测功能,如果你没有文件名。

答案 1 :(得分:0)

根据Microsoft支持:http://support.microsoft.com/kb/284094,WMA的mime类型应为audio/x-ms-wma。 根据:http://kb.iu.edu/data/agtj.html,mime-type application/octet-stream表示二进制文件。我不确定为什么TIKA无法识别正确的mime类型,但如果实际的mime无法识别则返回application/octet-stream是后备/备份策略。失败的原因可能很多:

  1. 使用旧版本的库
  2. 或者库是新的,但文件类型比
  3. 更新
  4. 或某些内部故障
  5. 查看下面的链接,找出Java中的mime-types:

    1. Getting A File's Mime Type In Java
    2. http://www.rgagnon.com/javadetails/java-0487.html