使用InputStream将意图发送到媒体播放器应用程序

时间:2011-12-12 14:07:00

标签: android streaming media

经过大量搜索,我没有找到任何答案如何解决标题中描述的问题。

我想向系统发送意图以播放某些媒体。它可以在任何地方,加密的zip,FTP服务器或我的PC上通过SMB访问。我使用输入和输出流作为不同协议之间的管道,因此可以在它们之间复制文件而没有任何障碍。

我想要实现的是为系统中可用的任何流媒体应用提供对此输入流的访问权限。例如,流式应用程序可以播放位于我的PC的SMB共享上的歌曲,也可以直接从加密的zip中播放,而无需提取/下载,只使用给定的输入流。

到目前为止我唯一发现的是从HTTP网址流式传输,这不是我的情况。有谁知道可能的解决方案吗?

1 个答案:

答案 0 :(得分:2)

尚未尝试,但我认为您必须提供由外部应用程序和与此Uri匹配的提供商打开的文件的Uri。

例如,如果你有一个smb:// ... Uri,那么你需要安装一个提供程序来处理这个问题。

或者它可能是一个自定义的Uri,如mycustomprovider://,其余的Uri将是特定于应用程序的。

编辑:大多数文件管理器所做的是使用本地HTTP连接。他们打开流并收听特定的HTTP端口以将流提供给它。

EDIT2:以下是使用HTTP的解决方案:Android ServerSocket programming with jCIFS streaming files

虽然传递一个InputStream会更容易;)确实!