逐步下载音频文件

时间:2013-09-08 05:44:41

标签: audio android-mediaplayer progressive-download

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

1)我们将uri传递给媒体播放器,然后在播放期间“切断循环”,因为mediaplayer直接与遥控器对话,因此无法访问正在播放的字节

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

3)虽然可以将网络服务器嵌入到我们的应用中(请参阅nanohttpd),然后将localhost uri传递到mediaplayer,这似乎是一个可怕的kludge

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

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

1 个答案:

答案 0 :(得分:1)

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

编辑:在我的电脑而不是手机上查看此内容后,我注意到您提到在您的应用中嵌入服务器。如果操作得当,它重量轻,直观。它将使您可以访问原始数据。我认为它根本不是一个“kludge”。