在 Android 11 中遇到以下问题,在 11 以下版本中工作正常。录制音频文件时。
这里有一个异常(exception)。
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;
}
关于android - Android 11 中不支持的 MIME 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64763304/