Android MediaPlayer 从 InputStream 读取

标签 android android-mediaplayer

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

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

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

要恢复,我愿意接受所有建议。唯一的限制是:

  • 起初我有一个InputStream
  • 这里可以是任何中间操作,但越高效越好
  • 获取有效输入以提供给 MediaPlayer

这看起来很基本,但我找不到任何方法来实现它。谢谢。

最佳答案

Derzu 是正确的,本地代理可以做到这一点。看我的回答here .请随时提出任何问题。

关于Android MediaPlayer 从 InputStream 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13934727/

相关文章:

Android - MediaController 在 Activity 中泄漏

android - 使用平滑滚动将图像从 Assets 加载到 GridView

java - 我可以在 Android 的 2 个 OpenGL 上下文之间共享外部纹理吗

android - MediaPlayer 在调用 onStop() 时抛出 IllegalStateException

android - 通过复选框激活android中的停用音乐

android - 从 View 中获取错误位置

android - 为什么我的 videoview 没有播放?

android - 如何将 Firebase 自定义 token 中的其他字段检索到 "UserInfo"

android - 跟踪来电操作

java - 当我的应用程序从 websocket 触发某些内容时出错