前言
在Android 13的MediaProvider中有涉及到getMimeTypeFromExtension()的使用,主要是获取文件的MimeType属性。
记录于此,方便自己差异。
下面代码来自MediaProvider
正文
获取mimeType
//获取文件后缀扩展 String extension = extractFileExtension("/sdcard/91es.m4a"); //根据后缀进行获取mimeType if (null != extension) { String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension.toLowerCase(Locale.ROOT)); }
-
extractFileExtension()方法是获取文件后缀
-
getMimeTypeFromExtension()根据文件后缀获取文件mimeType
extractFileExtension
public String extractFileExtension(String data) { if (data == null) return null; data = extractDisplayName(data); int lastDot = -1; if (null != data) { lastDot = data.lastIndexOf('.'); } if (lastDot == -1) { return null; } else { return data.substring(lastDot + 1); } }
extractDisplayName()
public String extractDisplayName(String data) { if (data == null) return null; if (data.indexOf('/') == -1) { return data; } if (data.endsWith("/")) { data = data.substring(0, data.length() - 1); } return data.substring(data.lastIndexOf('/') + 1); }
测试
extension : mp4 mimeType : video/mp4 extension : mpeg mimeType : video/mpeg extension : ra mimeType : audio/x-pn-realaudio extension : wma mimeType : audio/x-ms-wma extension : wav mimeType : audio/x-wav extension : ape mimeType : null extension : m4a mimeType : audio/mpeg extension : txt mimeType : text/plain
代码
整合一下,显示自己模块中使用的代码
参考文章
历史上的今天
暂无评论...
随机推荐
Kotlin面对对象简介
前言简单介绍一下Kotlin面对对象简介。记录一下,方便自己查阅。正文类类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。Kotlin中所有类都继承Any类,它是所有类的父类,如果一个类在声明时没有指定父类,则默认父类为Any类无参数和有参...
李娟:属于我的马
有一个人欠了我家很多钱,现在却死了。按当地穆斯林的礼性,不还清生前的债务是不可入葬的。葬礼上,阿訇会询问死者亲属:“此人生前亏欠过别人的财物吗?”得到否定的回答后才会继续为死者念经。但他的家人实在拿不出钱来偿还,情急之下,只好把自家的一匹马牵来见我妈,要求抵债。我妈很为难,打电话同我商量该怎么办...
720P、1080P、2K、4K的简介
前言简单记录一下720P(高清)、1080i 、1080P(全高清)、2K、4K相关内容。正文一、分辨率后缀的含义PP, 是Progressive的缩写, 表示逐行扫描720P,1080P等,表示的是“视频像素的总行数”,比如,720P表示视频有720行的像素,而1080P则表示视频总共...
刘明:从一幅寿桃走近一位画家
源于一次写生活动,有幸认识了一位画家,他就是长安画院的周西省大哥。称呼他为大哥,有一种亲和力是源于他的一件小事,感动了我。那就是有缘去了一趟我的老家,他让我的父母坐下,他用手机播放一段我做的视频,让他们看,并说:“老人家,你们看看,这就是您的儿子拍摄的作品。”人与人之间相遇相识有缘是奇妙的,这种...
Android取消和开启提示音
前言如果系统设置[声音]选项中关闭了[触摸提示音],则所有的View都没有提示音。开启系统设置[触摸提示音]基础上,View或ViewGroup设置setOnTouchListener()或者setOnLongClickListener()都是没有提示音的。开启系统设置[触摸提示音]基础上...
CountDownTimer音量值淡入淡出
前言有时候播放开始播放和暂停时,需要做一个淡入淡出的效果,要不然急速暂停或播放,容易出现尖锐的杂音。正文显示对MediaPlayer播放和暂停时音量淡入和淡出代码片段。隐藏内容!付费阅读后才能查看!¥1 ¥3多个隐藏块只需支付一次付费阅读