当前位置: 首页 > 知识库问答 >
问题:

Android MediaPlayer IOException

白腾
2023-03-14

我正在写一个程序,需要从存储器中播放一首歌曲。我为此设置了一个MediaPlayer(下面的代码片段),但一直使用java。io。IOException:准备失败:状态=0x1。一些网站指出,发生此错误的原因可能是我试图读取的文件不具有世界可读性。如果这是真的,我如何从程序中更改文件权限、绕过此问题或其他解决方案。如果没有,请帮我找出这有什么问题。提前谢谢。

MediaPlayer player = new MediaPlayer();
player.reset();
player.setDataSource(selectedFilePath);
player.prepare();
player.start();

共有1个答案

孔鹤龄
2023-03-14

您试图从何处读取文件?您可能正在查看/SD卡/区域,而您的应用程序无法读取\u external\u存储

如果是这种情况,请确保在清单中添加以下行

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

[编辑]我不确定您要从何处加载,但使用描述符而不是路径可能会有所帮助。看看这是否有帮助:

FileInputStream fis = new FileInputStream(locationOfFile);
mediaPlayer.setDataSource(fis.getFD());

如果这仍然没有帮助,我建议尝试其他文件名,以确保媒体播放器的设置正确。或者你可以这样做

File thisFile = new File("/storage/sdcard0/Music/song.mp3");
if (thisFile.exists())
   Log.v("file", "Exists");
else
   Log.v("file", "Could not be located.");
 类似资料:

相关问答

相关文章

相关阅读