Android MediaPlayer从输入流读取

Android MediaPlayer从输入流读取,android,android-mediaplayer,Android,Android Mediaplayer,我需要为Android实现一个视频DASH客户端 目前,除了在临时文件中写入InputStream,然后读取文件外,我还没有找到任何解决方案。当然,这个解决方案根本没有效率。我想使用一个OutputStream来使用它的FileDescriptor作为数据源。但是如果不创建现有文件,我就无法使用有效的文件描述符 由于DASH协议,客户端负责获取所有(小)段,因此我需要找到一种直接从内存读取媒体的方法。也许唯一的解决方案是使用JNI,但我真的不知道如何使用 我愿意接受每一个建议。唯一的限制是:

我需要为Android实现一个视频DASH客户端

目前,除了在临时文件中写入
InputStream
,然后读取文件外,我还没有找到任何解决方案。当然,这个解决方案根本没有效率。我想使用一个
OutputStream
来使用它的
FileDescriptor
作为数据源。但是如果不创建现有文件,我就无法使用有效的
文件描述符

由于DASH协议,客户端负责获取所有(小)段,因此我需要找到一种直接从内存读取媒体的方法。也许唯一的解决方案是使用JNI,但我真的不知道如何使用

我愿意接受每一个建议。唯一的限制是:

  • 首先,我有一个
    InputStream
  • 在这里,它可以是任何中间操作,但效率越高越好
  • 获取一个有效的输入以馈送一个
    MediaPlayer

这似乎很基本,但我找不到任何方法来实现这一点。谢谢。

Derzu认为本地代理可以做到这一点是正确的。看看我的答案。请随时提问。

您找到解决方案了吗?我也遇到了同样的问题,我尝试使用PipedInputStream和PipedOutStream来解决它,但它们没有一个文件描述符来获取和使用MediaPlayer.setDataSource方法。我还尝试从PipedInputStream创建URI,但还没有成功。@Derzu实际上我在这方面花了很多时间,最后我放弃了。。。如果你能找到解决办法,请告诉我。我找到了一个解决办法,但我还在发展中。是创建一个HTTP本地服务器,其中视频数据源来自输入流。因此,MediaPlayer读取http uri。嘿,德祖,你成功了吗?我正在处理同一个问题,我想我们可以通过合作来解决它。