It may be late, but I think you can indirectly get a FileInputStream from an InputStream. I suggest the following: get the input stream from the resource, then create a temporary file, get FileOutputStream from it. read InputStream and copy it to FileOutputStream.
now the temp file contains the contents of your resource file, and now you can create a FileInputStream from this file.
I don't know if this particular solution is right for you, but I think it can be used in other situations. For example, if your file is located in the resource folder, you get an InputStream and then a FileInputStream using this method:
InputStream is=getAssets().open("video.3gp"); File tempfile=File.createTempFile("tempfile",".3gp",getDir("filez",0)); FileOutputStream os=newFileOutputStream(tempfile); byte[] buffer=newbyte[16000]; int length=0; while((length=is.read(buffer))!=-1){ os.write(buffer,0,length); } FileInputStream fis=new FileInputStream(tempfile);
source share