iPhone音频流 - 保存状态?

Posted

技术标签:

【中文标题】iPhone音频流 - 保存状态?【英文标题】:iPhone audio streaming - saving state? 【发布时间】:2009-04-04 05:25:32 【问题描述】:

如何保存当前由我的应用流式传输的音频文件的当前状态。我想在用户离开的地方开始播放歌曲(就像潘多拉在听歌时所做的那样)

现在我正在获取正在播放的数据包编号。从数据包编号中,我得到字节编号并将其发送到 Range 标头字段中。但这不起作用,并从头返回整首歌曲。

我正在使用 AudioFileStream 和 CFHTTPStream 流式传输音频。

谢谢。

【问题讨论】:

值得检查一下,无论您从哪里进行流式传输,都支持范围标头 【参考方案1】:

我们就是这样做的(尽管我们使用 NSURLConnection)。听起来您的服务器不尊重范围标头。从那里开始调试 - 问题是您的服务器不支持范围标头或您的客户端未正确发送它。

【讨论】:

【参考方案2】:

这在很大程度上取决于流媒体服务器的功能。大多数常见的流媒体服务器不支持范围 - 例如 Shoutcast 或 Icecast。

【讨论】:

谢谢约翰。那么潘多拉是如何做到的呢?他们也必须使用范围参数才能从用户离开的地方开始播放歌曲? 潘多拉的魔力在于服务器。我猜他们是从头开始建立自己的。 我检查了我的服务器。它支持 Range 标头。所以这不是问题。现在我该怎么做? 我猜没有具有搜索功能的流媒体服务器。但是,如果我们谈论从 Web 服务器读取 MP3,那么您肯定可以使用 Range 标头,所有现代 Web 服务器都必须支持它。

以上是关于iPhone音频流 - 保存状态?的主要内容,如果未能解决你的问题,请参考以下文章

iphone - 在后台播放音频流

从 iPhone 到服务器的音频流?

在 iPhone 上拆分音频单元流

笔记- iphone手机音频AAC视频H264推流 iphone手机推流最佳方案

如何在 iPhone 上实现音频流 <50 毫秒的延迟

如何构建音频文件流 iPhone 应用程序?