2011-12-12 88 views
3

經過大量搜索後,我沒有找到任何答案如何解決標題中描述的問題。使用InputStream發送媒體播放器應用程序

我想發送意圖到系統以播放一些媒體。它可以在任何地方,在加密的zip中,在FTP服務器上或在我的PC上通過SMB訪問。我使用輸入和輸出流作爲不同協議之間的管道,因此可以在文件之間複製文件而不會有任何障礙。

我想要實現的是爲系統中可用的任何流式應用程序提供對此輸入流的訪問權限。例如,流媒體應用可以播放位於我的PC的SMB共享中的歌曲,或者直接從加密的zip中播放歌曲,而不用提取/下載它,只使用給定的輸入流。

到目前爲止,我發現的唯一的東西就是從HTTP URL傳輸,這不是我的情況。有沒有人知道可能的解決方案?

回答

2

還沒有嘗試過,但我會假設你將不得不提供Uri文件,以便由外部應用程序和與此Uri匹配的提供程序打開。

例如,如果你有一個smb:// ... Uri,那麼你需要安裝一個提供者來處理這個。

或者它可能是一個自定義的Uri,比如mycustomprovider://,其餘的Uri將是特定於應用程序的。

編輯:大多數文件管理器做的是用戶本地HTTP連接。他們打開流並收聽特定的HTTP端口以將流饋入。

EDIT2:這裏是解決方案使用HTTP:Android ServerSocket programming with jCIFS streaming files

雖然經過一個InputStream會如此容易得多;)的確!