我正在尝试使用http和固定大小的mp3文件为iPhone实现渐进式下载音频播放器.
我找到了AudioStreamer项目,但它似乎非常复杂,并且在无尽的流中效果最佳.
我需要能够找出音频文件的总长度,我还需要能够在文件中查找.我发现了对AudioStreamer的黑客攻击,但它似乎对我来说效果不佳.http://www.saygoodnight.com/?p=14
我想知道是否有更简单的方法来实现我的目标,或者是否有更好的工作样本?我找到了低音库,但没有太多关于它的文档.
/ Br Johannes
遗憾的是,在iPhone上播放音频流并不简单.这篇文章让我开始: 流媒体和播放MP3流
这是一个OSX项目,但其中大部分也适用于iPhone.至于获取它的完整播放时间,您可能必须根据http标头的content-length属性来计算出来,前提是它是一个CBR文件.否则,我想你必须在确定之前下载整个文件.
如果您只需要播放MP3文件,为什么要编写自己的下载器/播放器?你有一些内置于iOS的选项,每个选项都支持渐进式下载和MP3播放:
MPMoviePlayerController
AVPlayer
Safari 播放器
我个人有问题,用的渐进式下载能力MPMoviePlayerController
和AVPlayer
,所以也许这是你的问题也.我发现这些玩家通过多次请求mp3来尝试变聪明,检查服务器是否支持通过http范围偏移进行渐进式下载.但是当服务器不支持范围偏移时,文件会被多次下载,占用带宽(!).
在我的最新项目中,我嵌入了一个嵌入了html 标签的UIWebView .Safari播放器似乎比AVPlayer和MPMoviePlayerController表现更好,但它也有自己的警告.首先,让自动播放工作的是PITA.