Java Android SDK:我可以将InputStream转换为FileInputStream吗?
我需要将流媒体和视频从samba服务器传输到android,并使用JCIFS从samba文件获取inputstream。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
但在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,是否可能?