Java Android SDK:我可以将InputStream转换为FileInputStream吗?

Java Android SDK:我可以将InputStream转换为FileInputStream吗?,java,android,Java,Android,我需要将流媒体和视频从samba服务器传输到android,并使用JCIFS从samba文件获取inputstream。 但在MediaPlayer中,只能使用fileinputstream.getFD()播放媒体 mp = new MediaPlayer(); FileInputStream fis = new FileInputStream(convertedFile); mp.setDataSource(fis.getFD()); Toast.makeText(this, "Succe

我需要将流媒体和视频从samba服务器传输到android,并使用JCIFS从samba文件获取inputstream。
但在MediaPlayer中,只能使用fileinputstream.getFD()播放媒体

mp = new MediaPlayer();

FileInputStream fis = new FileInputStream(convertedFile);
mp.setDataSource(fis.getFD());

Toast.makeText(this, "Success, Path has been set", Toast.LENGTH_SHORT).show();

mp.prepare();
mp.start();
我无法从inputstream获取fd(),因此需要将inputstream转换为fileinputstream…
请给我一个建议,或者有其他的解决方案从samba服务器流媒体

这是我的SmbFileInputStream,但它不等于fileinputstream

SmbFileInputStream f = new SmbFileInputStream(new SmbFile(filePath,auth));

非常感谢。

您可以使用
createPipe()
创建一个
ParcelFileDescriptor
管道。您可以将
FileInputStream
中的字节复制到管道末端的
OutputStream
中,并将
FileDescriptor
getFileDescriptor()
发送到
MediaPlayer
。这是否适用于所需的流是一个完全不同的问题,但这是我所知道的获得表示任意内容的
FileDescriptor
的唯一方法


为了演示这一点,在
ContentProvider
上实现
openFile()
的上下文中,我需要将smbfileinputstream转换为fileinputstream,是否可能?