我有一台有歌曲的服务器。我想从这台服务器流到我的iphone,我意识到我可以使用AVPlayer
和initWithUrl
执行此操作。但是,问题是URL需要身份验证标头。有没有办法发送带有歌曲的http标头来流式播放?
如果没有,有没有人知道任何变通办法?
感谢。
答案 0 :(得分:0)
NSMutableURLRequest让我们使用类似字典的界面设置标题。见setValue:forHTTPHeaderField:
。您可以使用它自己发出请求,使用NSData writeToFile:atomically:
将文件保存到文件URL。然后将文件URL发送到AVPlayer。
答案 1 :(得分:0)
执行danh所说的 - 使用NSMutableURLRequest传递auth数据,使用NSURLConnection将音频数据写入文件。您可以在didReceiveData中查看已下载的数据量:一旦文件“足够大”(你必须决定这意味着什么),你可以使用AVAudioPlayer的initWithContentsOfURL(在那里传递文件URL)来播放它。我使用这种技术在商店有一个应用程序,它工作正常。一条建议,一些文件会导致AVAudioPlayer返回一个奇怪的错误([错误代码] == 2003334207)。如果你这样做,等到文件完全下载,然后就会播放。