我目前正在开发一个使用Android的MediaPlayer setDataSource(url)方法来播放SHOUTCast流的应用程序。我正在将当前代码从使用setDataSource(url)方法切换到setDataSource(文件),其中文件在我正在蒸的文件的增量下载中。与本教程类似:
http://blog.pocketjourney.com/2008/04/04/tutorial-custom-media-streaming-for-androids-mediaplayer/
我的问题是:
这种方法适用于固定长度的文件,因为一旦流完成,文件就可以删除(即我流式传输mp3,当歌曲完成时我删除旧的临时文件,然后再创建一个新文件)。但是,如果我正在玩SHOUTcast流,从技术上来说“从不”结束“,由于临时文件大小的不断增加,如何防止手机存储空间不足?
答案 0 :(得分:0)
我没有使用MediaPlayer以这种方式进行流式传输的经验,但我想这个解决方案可能会有效:
使用两个文件。当达到大小阈值时,开始将流下载到两个文件。当第二个文件中有足够的缓冲区时,从第二个文件开始流式传输并删除第一个文件。根据需要来回切换。