微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何通过字符串或 Android 中的文件名确定主要媒体类型?

如何解决如何通过字符串或 Android 中的文件名确定主要媒体类型?

我正在制作一个应用程序,它可以列出服务器中特定目录的所有文件。在服务器端,我使用 python-magic 来识别文件的 mime 类型,并将结果(像“video/mp4”这样的字符串)发送回客户端应用程序。所以当应用得到结果时,它可以根据文件类型显示相对缩略图

我想将所有文件归类为以下类型: 1、图像; 2、视频;3、音频;4、(其他)文件

我在客户端使用这样的逻辑:

    if(file.getType().contains("image")){
         //example "image/bmp"
        viewholder.file_icon.setimageResource(R.drawable.image);
    }else if(file.getType().contains("video")){
         //example "video/mp4"
        viewholder.file_icon.setimageResource(R.drawable.video);
    }else if(file.getType().contains("audio")){
        //example "audio/mpeg"
        viewholder.file_icon.setimageResource(R.drawable.music);
    }else{
        viewholder.file_icon.setimageResource(R.drawable.others);
    }

但是后来发现在服务器端,RMVB格式解析为“application/vnd.rn-realmedia”,MP3格式解析为“application/octet-stream”,所以这些类型只能是在我的客户端被视为“其他类型”,除非我为 if 语句编写额外的逻辑,而且我确信那不是解决方案。

RMVB格式显然是一种“视频”,而MP3应该是一种“音频”。我们都知道这些,但我怎么能让 Android 也知道呢?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?