我已经看到很多帖子在 SO 上提出这个问题,但似乎没有明确的答案(或者至少是我喜欢的答案!)
我的内容受到基本身份验证(用户名/密码)的保护——我可以使用各种 HTTP 下载类很好地下载它,但对于我来说,我无法弄清楚如何告诉媒体播放器流式传输它(并提供认证)。我看到一篇帖子暗示这是不可能的,因为 MediaPlayer 都是本机代码,不像 Authenticator 那样。
有很多关于如何首先下载到缓存副本然后播放的示例,但是....那种很糟糕(文件可能有 100 个 MB)。我看到至少一个建议以小块下载它,然后开始和停止播放(重定向到新文件),但这也很糟糕,因为(我认为)会出现口吃(虽然我还没有尝试过) )
此时我最好的想法是开始下载到缓存文件,然后当它“足够”时开始播放,同时我继续填充文件....我希望这可行(但同样,没有试过了)。
我错过了一些明显的东西吗?让所有不同的部分几乎都能正常工作真是太痛苦了,我有点说服自己必须有一种方法来原生地流式传输受保护的内容(或者让它采用已经建立和合格的 InputStream),但它似乎并不快乐。
顺便说一句,我是 Mac/iPhone 用户,也是 Android 的新手,所以我仍在努力学习 Java。如果我遗漏了一些明显的东西,请原谅。