IOS - 流式传输和下载音频文件
Posted
技术标签:
【中文标题】IOS - 流式传输和下载音频文件【英文标题】:IOS - Streaming and Downloading an Audio File 【发布时间】:2014-06-10 05:56:46 【问题描述】:我目前正在制作一个能够流式传输音乐文件的应用程序。问题是,我们的客户希望在我们流式传输音频文件时,流式传输的字节也将保存在本地存储中。这意味着流式传输的音频文件也将保存在设备的存储中。例如我有这个 m4a 文件流式传输,当用户停止流式传输音频文件时,流式传输的音乐文件将保存在设备的本地存储中以供将来使用。
这可能吗?如果是,我应该使用什么库?
谢谢。
【问题讨论】:
【参考方案1】:是的,可以为此使用 AVFoundation 框架并播放您的音频。
首先从构建阶段部分拖动 AVFoundation 框架,然后像这样导入#import <AVFoundation/AVFoundation.h>
然后像这样在视图控制器实例的 .h 文件中声明 AVAudioPlayer
AVAudioPlayer *myAudioPlayer;
在 view controller.m 中输入这段代码
NSURL *fileURL = // your url.
myAudioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil];
myAudioPlayer.numberOfLoops = -1; //infinite loop
[myAudioPlayer play];
通过这种方式,您可以在 ios 设备中播放音频。希望它对您播放音频有所帮助
【讨论】:
我不明白这是如何回答这个问题的。问题是播放远程 URL(不是本地文件 URL)并在播放时将数据保存到本地文件中。这个答案似乎显示了如何播放本地文件 URL,并且可以很容易地适应删除 URL,但似乎没有提供任何保存下载数据的方法。有没有办法创建一个AVAudioPlayer
调用用户回调来获取文件数据,而不是下载文件本身?这将使实现变得非常简单。以上是关于IOS - 流式传输和下载音频文件的主要内容,如果未能解决你的问题,请参考以下文章
哪个 iOS 音频 API 设计用于以低延迟从磁盘流式传输大型本地音频文件?
iOS 使用基于 Cookie 的身份验证从服务器流式传输音频