我在从Android应用程序的缓存文件夹获取文件时遇到问题。这是我正在努力但不起作用:无法从android缓存目录中获取文件
File cacheDir = getApplicationContext().getCacheDir();
myFile = File.createTempFile("filename", ".mp3", cacheDir);
...
// Here I have to code to initialize the file
...
Log.i(LOG_TAG, "file.length = "+myFile.length()); // This logs correct info
...
//File file = new File(myFile.getPath());
//Log.i(LOG_TAG, "file.length() = "+file.length()); // This logs 0
//Log.i(LOG_TAG, "file.name = "+file.getName()); // This is correct
String fileURI = myFile.getPath();
mediaPlayer.setDataSource(fileURI);
mediaPlayer.prepare(); // This crashes
正如你可以看到它似乎该文件不包含任何内容。不过,我试着用这段代码交换两条第一行,然后它就可以工作。
myFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/MYFOLDER/filename.mp3");
我还没有发现任何方式把我的MediaPlayer没有URI,当我尝试从URI中的文件时,它似乎是一个问题。
你有解决方案,我怎么可以从缓存目录中获取文件?