【问题标题】:finding mime type of wma files using java使用java查找mime类型的wma文件
【发布时间】:2011-06-25 04:34:58
【问题描述】:

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

【问题讨论】:

    标签: java audio mime wma apache-tika


    【解决方案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 魔法检测。

    【讨论】:

    • 这被证明是一个相当容易修复的问题,因此从 r1087450 开始,Tika 现在也应该能够进行 mime 魔法检测了。
    【解决方案2】:

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

    1. 使用旧版本的库
    2. 或者库是新的,但文件类型比那个新
    3. 或某些内部故障

    查看以下链接以了解 Java 中的 mime 类型:

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

    【讨论】:

      猜你喜欢
      • 2011-02-02
      • 2011-05-19
      • 2020-07-11
      • 2021-06-11
      • 2014-03-21
      • 2011-10-11
      • 2015-09-20
      相关资源
      最近更新 更多