Java FileDescriptor:error android.system.ErrnoException:open失败:enoint(没有这样的文件或目录)
我知道这是一个很常见的问题,但是我正在努力获得输出。下面是我的代码:Java FileDescriptor:error android.system.ErrnoException:open失败:enoint(没有这样的文件或目录),java,android,Java,Android,我知道这是一个很常见的问题,但是我正在努力获得输出。下面是我的代码: try { FileInputStream fileInputStream = new FileInputStream(new File("/Users/JackPowell/AndroidStudioProjects/Shaker/app/src/main/res/raw/na.mp3")); FileDescriptor fd = fileInputStream.getFD();
try {
FileInputStream fileInputStream = new FileInputStream(new File("/Users/JackPowell/AndroidStudioProjects/Shaker/app/src/main/res/raw/na.mp3"));
FileDescriptor fd = fileInputStream.getFD();
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
错误显示目录不存在。有人能告诉我怎么了吗?
/Users/JackPowell/AndroidStudioProjects/Shaker/app/src/main/res/raw/na.mp3是OS X机器上文件的路径。好吧,这个星球上没有任何Android设备的根目录下有/Users
目录
我的猜测是,您正在尝试读取原始资源。在这种情况下,使用Resources
及其openRawResource()
方法,传入R.raw.na
。您可以通过getResources()
从任何上下文(例如您的活动)获取Resources
对象这是我的解决方案:
AssetFileDescriptor afd = mContext.getResources().openRawResourceFd(R.raw.na);
try {
mPlayer.setDataSource(afd.getFileDescriptor());
} catch (IOException e) {
e.printStackTrace();
}
mPlayer.prepare;
mPlayer.setOnPreparedListener(this);
嗨,谢谢你的回复。你能给我举一个例子作为将来的参考吗?thanks@JackPowell: