如何解决Android 11中不受支持的MIME类型
在Android 11中遇到以下问题,在11以下可以正常工作。在录制音频文件时。
这是一个例外。
java.lang.IllegalArgumentException: Unsupported MIME type "audio/wav"
File outFile = new File(outPath);
long fileSize = outFile.length();
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA,outPath);
values.put(MediaStore.MediaColumns.TITLE,title.toString());
values.put(MediaStore.MediaColumns.SIZE,fileSize);
values.put(MediaStore.MediaColumns.MIME_TYPE,"audio/wav");
values.put(MediaStore.Audio.Media.ARTIST,getApplicationInfo().name);
values.put(MediaStore.Audio.Media.DURATION,duration);
values.put(MediaStore.Audio.Media.IS_MUSIC,true);
Uri uri = MediaStore.Audio.Media.getContentUriForPath(outPath);
final Uri newUri = getContentResolver().insert(uri,values);
解决方法
import android.webkit.MimeTypeMap;
// url = file path or suitable URL.
public static String getMIMEType(String url) {
String mType = null;
String mExtension = MimeTypeMap.getFileExtensionFromUrl(url);
if (mExtension != null) {
mType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(mExtension);
}
return mType;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。