0

我正在尝试读取我之前保存在外部存储中的音频文件,但似乎我无法使用我正在使用的方法找到它。

这是我用来将文件保存在外部 sdcard 中的;

outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "/ejemplo.3gpp";

这就是我用来取回记录的音频文件的 byteArray 的方法:

InputStream is =this.openFileInput("/sdcard/ejemplo.3gpp"); 
bytes = IOUtils.toByteArray(is);

出于某种原因,似乎当我调用 openFileInput 时无法找到该文件,但是使用“根浏览器”我已经检查过该文件实际上是否放置在“/sdcard/ejemlo.3gpp”中,所以我不知道发生了什么关于....有什么建议吗?

4

1 回答 1

2

/sdcard/ 不是默认值。它可以由 OEM 更改,在某些设备中它是 sdcard0 所以使用 Environment 类,因为你使用它来保存文件。

File file = new File( Environment.getExternalStorageDirectory().getAbsolutePath() + "/ejemplo.3gpp");
InputStream is = new FileInputStream(file);
bytes = IOUtils.toByteArray(is);
于 2014-04-18T11:34:53.233 回答