Android 10 : API 29 - java.lang.IllegalArgumentException 在 android.media.MediaMetadataRetriever.setDataSource
Android 10 : API 29 - java.lang.IllegalArgumentException at android.media.MediaMetadataRetriever.setDataSource
我想从音频文件中获取封面照片
该应用程序适用于 android 10+ 和 android 9 但在 android 10 中它给我一个错误
//this is my code
private byte[] getAlbumArt(String uri) {
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(uri);
byte[] art = retriever.getEmbeddedPicture();
retriever.release();
return art;
}
错误:
Unknown bits set in runtime_flags: 0x8000
2020-09-18 22:19:53.826 23193-23193/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.MusicPlayer.musicplayervip, PID: 23193
java.lang.IllegalArgumentException
at android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:77)
求助
此代码未提供回溯并保持应用程序正常运行但无法完美运行
它只是忽略图像
private byte[] getAlbumArt(String uri) {
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
if (Build.VERSION.SDK_INT >= 14){
try {
retriever.setDataSource(uri, new HashMap<String, String>());
} catch (RuntimeException ex) {
// something went wrong with the file, ignore it and continue
}
}
else {
retriever.setDataSource(uri);
}
byte[] art = retriever.getEmbeddedPicture();
retriever.release();
return art;
}
我想从音频文件中获取封面照片 该应用程序适用于 android 10+ 和 android 9 但在 android 10 中它给我一个错误
//this is my code
private byte[] getAlbumArt(String uri) {
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(uri);
byte[] art = retriever.getEmbeddedPicture();
retriever.release();
return art;
}
错误:
Unknown bits set in runtime_flags: 0x8000
2020-09-18 22:19:53.826 23193-23193/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.MusicPlayer.musicplayervip, PID: 23193
java.lang.IllegalArgumentException
at android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:77)
求助
此代码未提供回溯并保持应用程序正常运行但无法完美运行 它只是忽略图像
private byte[] getAlbumArt(String uri) {
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
if (Build.VERSION.SDK_INT >= 14){
try {
retriever.setDataSource(uri, new HashMap<String, String>());
} catch (RuntimeException ex) {
// something went wrong with the file, ignore it and continue
}
}
else {
retriever.setDataSource(uri);
}
byte[] art = retriever.getEmbeddedPicture();
retriever.release();
return art;
}