getAssets()openFD()失败。
AssetFileDescriptor fileFD=null;
File file = new File(Environment.getExternalStorageDirectory() + "/Music/ckyws8.wav");
fileFD = getAssets().openFd(file.toString()); //FAILS
日志显示:
java.io.FileNotFoundException:/mnt/sdcard/Music/ckyws8.wav
即使
file.exists()
返回true
以及测试:File tempath = new File(Environment.getExternalStorageDirectory() + "/Music");
int files = tempath.list().length;
for(int f=0;f<files;f++){
Log.d(LOG_TAG,tempath.list()[f].toString());
}
返回包含
ckyws8.wav
的列表有任何想法吗?
最佳答案
AssetManager
用于访问应用程序的 Assets , Assets 是项目源代码树中assets/
目录的内容。它不是用于访问内部或外部存储上的文件的,这就是为什么您的代码不起作用的原因。
关于android - Android getAssets()。openFd(string)-找不到文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15709935/