qingmei2 / RxImagePicker

:rocket:RxJava2 and RxJava3 external support. Android flexible picture selector, provides the support for theme of Zhihu and WeChat (灵活的Android图片选择器,提供了知乎和微信主题的支持).
MIT License
1.2k stars 156 forks source link

如何判断选择的是图片还是视频格式呢 #61

Closed RookieExaminer closed 5 years ago

RookieExaminer commented 5 years ago

原库Matisse 可根据选择后的后缀格式进行判断 比如 123.jpg 但是这个库,并没有带格式的后缀了 123

RookieExaminer commented 5 years ago

现在用RxImagePicker 里知乎的ui 从返回的t.uri 里判断是否包含 images 或 video,来判断是否是图片还是视频,不知道这种方法会不会有问题

qingmei2 commented 5 years ago

@RookieExaminer

可以考虑为知乎和微信主题的返回结果,增加对应的字段以告知媒体资源的类型(视频、图片、音频),该功能预计会在下版本更新

qingmei2 commented 5 years ago

@RookieExaminer

该功能2.5.0版本更新,知乎微信 主题增加了返回 资源文件类型 的字段:

代码示例:

val mimeType = result.getStringExtra("EXTRA_OPTIONAL_MIME_TYPE", "")
Log.d(TAG, "mime types: $mimeType")

使用方式参考类似代码:

val isImage: Boolean
      get() = if (mimeType == null) false else mimeType == MimeType.JPEG.toString()
           || mimeType == MimeType.PNG.toString()
           || mimeType == MimeType.GIF.toString()
           || mimeType == MimeType.BMP.toString()
           || mimeType == MimeType.WEBP.toString()