mediaExtractor = new MediaExtractor(); mediaExtractor.setDataSource(mFilePath);
mFilePath 为 sd 上路径。/sdcard/月亮代表我的心萨克斯2.mp3
1.检查 sd读写权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
android:requestLegacyExternalStorage="true" android 10中文件读写新特性 ,不加无法写sd卡
2. 流被占用了
FileInputStream fileInputStream = new FileInputStream("/sdcard/月亮代表我的心萨克斯2.mp3");
fileInputStream 没有 close ,也会 报 java.io.IOException: Failed to instantiate extractor
可以换一个文件试一下。测试手机 华为 HarmonyOS