我想编写一个应用程序,通过标准 Android 从远程 http 源逐步下载音频mediaplayer
,但我也想将音频文件的副本保存到 SD 卡。事实证明这是一个难题:
1)我们将 a 传递uri
给媒体播放器,然后在播放过程中“退出循环”,因为mediaplayer
直接与远程对话,因此无法访问正在播放的字节
2)Android似乎没有将下载的位写入磁盘的选项,也没有回调来访问下载的数据
3) 虽然可以在我们的应用程序中嵌入一个网络服务器(参见 参考资料nanohttpd
),然后将一个localhost
uri传递给mediaplayer
,但这似乎是一个可怕的组合
我错过了更简单的方法吗?这一定是一个已解决的问题?!
编辑:也许是一个更简单的问题:如果我在内存中有一个包含音乐的缓冲区,我可以播放它吗?我必须将它写入磁盘或使用 Web 服务器mediaplayer
来播放它,这似乎很荒谬。