0

我想编写一个应用程序,通过标准 Android 从远程 http 源逐步下载音频mediaplayer,但我也想将音频文件的副本保存到 SD 卡。事实证明这是一个难题:

1)我们将 a 传递uri给媒体播放器,然后在播放过程中“退出循环”,因为mediaplayer直接与远程对话,因此无法访问正在播放的字节

2)Android似乎没有将下载的位写入磁盘的选项,也没有回调来访问下载的数据

3) 虽然可以在我们的应用程序中嵌入一个网络服务器(参见 参考资料nanohttpd),然后将一个localhosturi传递给mediaplayer,但这似乎是一个可怕的组合

我错过了更简单的方法吗?这一定是一个已解决的问题?!

编辑:也许是一个更简单的问题:如果我在内存中有一个包含音乐的缓冲区,我可以播放它吗?我必须将它写入磁盘或使用 Web 服务器mediaplayer来播放它,这似乎很荒谬。

4

1 回答 1

1

是的,有办法做到这一点。创建一个本地代理服务器并将 MediaPlayer 连接到该服务器。有关更多详细信息,请参见我的答案。

编辑:在我的电脑而不是手机上查看此内容后,我注意到您提到在您的应用程序中嵌入服务器。如果做得好,它是轻量级和简单的。它将使您能够访问原始数据。我认为这根本不是一个“杂牌”。

于 2013-09-09T04:16:04.693 回答