这是我的代码:
MediaMetadataRetriever metadataRetriever;
metadataRetriever = new MediaMetadataRetriever();
metadataRetriever.setDataSource(mediaFile.getAbsolutePath());
我得到这样的异常:
E/AndroidRuntime( 3247): Caused by: java.lang.RuntimeException: setDataSource failed: status = 0xFFFFFFED
E/AndroidRuntime( 3247): at android.media.MediaMetadataRetriever.setDataSource(Native Method)
E/AndroidRuntime( 3247): at android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:70)
E/AndroidRuntime( 3247): at com.skyworth.tvfileexplorer.utils.FileUtils.getPreview(FileUtils.java:544)
E/AndroidRuntime( 3247): at com.skyworth.tvfileexplorer.app.folders.CardPreviewer.doInBackground(CardPreviewer.java:33)
E/AndroidRuntime( 3247): at com.skyworth.tvfileexplorer.app.folders.CardPreviewer.doInBackground(CardPreviewer.java:13)
我在多次重新定义 MediaMetadataRetriever 时遇到同样的错误。将其更改为具有单个静态声明,问题已消失。使用 4.4.2.