下载时播放mp3文件?

时间:2010-12-27 05:04:45

标签: android streaming mp3 audio-streaming

我希望我的Android应用程序从互联网上下载一个mp3文件,并在下载时像流一样播放它。这甚至可能吗?我该怎么做呢?

基本上我希望用户能够立即收听文件,但是即使他停止收听也要继续下载到SD卡,所以整个mp3文件都会以SD卡的方式结束。

3 个答案:

答案 0 :(得分:1)

我不相信android提供了你要求的功能。但是我知道有一种可行的解决方法。

http://code.google.com/p/android/issues/detail?id=739是一张开放式门票,其中包含许多与您所描述内容相关的讨论。在5th comment seeingwithsound说

  

然而,作为一种解决方法,我接下来将合成数据流式传输到临时文件,就像您考虑将HTTP流式传输到文件一样,以便通过MediaPlayer随后播放这些文件。 [...]虽然看起来像你的问题可能是通过更多控制MediaPlayer的缓冲来实现的,因为你实际上是通过一些缓存机制(缓冲区)连接流......

说实话,我没有过多地使用MediaPlayer,所以我不能给你太多关于如何“控制MediaPlayer缓冲”的细节。但假设您可以使用它,我建议您将.mp3文件下载到(a)临时文件,然后您可以将MediaPlayer指向。

对不起,这个答案是如此模糊,但你在尝试前进入的领域很少。祝你好运。

答案 1 :(得分:1)

对于Android设备2.3及更早版本,您需要完全删除Content-Disposition响应标头。这将导致浏览器调用用户偏好的音频播放器。

在此处尝试:http://declinefm.com/archives选择您选择的存档,然后点按下载链接。

对于现代Android设备,您可以省去CD标头的删除。

我在这里有一个教程,我的灵感来自你的帖子:

http://rudd-o.com/linux-and-free-software/how-to-properly-stream-audio-from-your-plone-varnish-site

享受!

答案 2 :(得分:0)

RTSP或HTTP?如果是HTTP,您可以尝试删除Content-Length标头,在某些移动设备上允许立即调用播放器。听起来好像是通过本地应用程序提取数据。你现在怎么玩这个文件?