我正在尝试读取我之前保存在外部存储器中的音频文件,但似乎我无法使用我正在使用的方法找到它。
这是我用来保存外部SD卡的文件;
outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "/ejemplo.3gpp";
这就是我用来取回录制的音频文件的byteArray:
InputStream is =this.openFileInput("/sdcard/ejemplo.3gpp");
bytes = IOUtils.toByteArray(is);
出于某种原因,似乎当我调用openFileInput时无法找到该文件,但是使用“Root浏览器”我已经检查过实际上该文件放在“/sdcard/ejemplo.3gpp”中所以我不知道发生了什么......有什么建议吗?
答案 0 :(得分:2)
/ sdcard /不是默认值。它可以由OEM更改,在某些设备中它是sdcard0因此,在使用它来保存文件时请使用Environment类。
File file = new File( Environment.getExternalStorageDirectory().getAbsolutePath() + "/ejemplo.3gpp");
InputStream is = new FileInputStream(file);
bytes = IOUtils.toByteArray(is);