我正在尝试为iPhone实现一个渐进式下载音频播放器,使用http和固定大小的MP3文件。
我找到了AudioStreamer项目,但它看起来非常复杂,并且最适合于无休止的流。
我需要能够找出音频文件的总长度,我也需要能够在文件中寻找。我发现了一个与AudioStreamer的偏差,但它似乎不是很好地为我工作。http://www.saygoodnight.com/?p=14
我想知道是否有更简单的方法来实现我的目标,或者是否有更好的工作样本?我找到了bass库,但没有太多关于它的文档。
/Br Johannes
发布于 2010-03-30 05:44:20
不幸的是,在iPhone上播放音频流并不简单。这是让我开始的文章:Streaming and playing an MP3 stream
这是一个OSX项目,但它的大部分也可以与iPhone一起工作。至于获得它的完整播放时间,如果它是一个CBR文件,你可能必须根据http头文件的content-length属性来确定。否则,我想您必须先下载整个文件,然后才能确定。
发布于 2011-02-26 02:42:43
如果您只需要播放MP3文件,为什么还要编写自己的下载程序/播放器?iOS内置了几个选项,每个选项都支持渐进式下载和MP3播放:
MPMoviePlayerController AVPlayer<audio> player我个人对MPMoviePlayerController和AVPlayer的渐进式下载功能有问题,所以也许这也是你的问题。我发现这些玩家试图聪明地多次请求mp3,检查服务器是否支持通过http范围偏移的渐进式下载。但是当服务器不支持范围偏移量时,文件会被多次下载,占用带宽(!)。
在我的最新项目中,我嵌入了一个嵌入了html <audio>标签的UIWebView。Safari播放器似乎比AVPlayer和MPMoviePlayerController表现得更好,但它也有自己的警告。首先,让autoplay正常工作是一件很困难的事情。
发布于 2011-02-16 21:33:06
在iPhone Cool Projects中有一个关于音频流的很好的章节。http://apress.com/book/view/9781430223573它展示了一种比AudioStreamer更简单的方法(使用NSURLConnection而不是CFNetwork),更适合渐进式下载,并且没有多线程代码。
为了找出音频文件的大小,您可以在
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response https://stackoverflow.com/questions/2536441
复制相似问题