iPhone SDK:将流式音频文件保存到 Documents 文件夹

Posted

技术标签:

【中文标题】iPhone SDK:将流式音频文件保存到 Documents 文件夹【英文标题】:iPhone SDK:Saving a streamed audio file to Documents folder 【发布时间】:2009-01-08 07:45:19 【问题描述】:

我想将一个音频文件保存到我的应用程序的 Documents 文件夹中,而我的应用程序中的一个类正在流式传输它。我该怎么做?

是否可以将流式音频直接保存到 mp3 中? (如果流式传输的音频文件是 mp3 或者我必须使用 caf?)

谢谢。

编辑:如果我在另一个线程中运行保存并且用户退出应用程序怎么办?我知道应用程序无法在 iPhone 的后台运行,但有什么方法可以在用户退出应用程序时停止下载并删除部分保存的文件?我可以在类内或 NSURLConnection 的委托中获得退出信号吗?

【问题讨论】:

【参考方案1】:

如果您使用 NSURLConnection 或 CFNetwork 下载文件,您可以将其保存在 connectionDidFinishLoading 委托中。

看看马特·加拉格斯 Streaming and playing an MP3 stream

【讨论】:

我看过马特的例子。那就是我让流媒体工作的地方:) 但是 tut 展示了如何流式传输音频。在流式传输时,数据可能不会按顺序出现。我想把所有数据放到一个本地文件中(我不确定我们是否可以直接把数据放到一个mp3文件中!)【参考方案2】:
(void)applicationWillResignActive:(UIApplication *)application



在 App 委托文件的上述方法中编写您的代码。

【讨论】:

【参考方案3】:

如果您想在退出时清理部分保存的文件, 你可以做得比从

- (void)applicationWillTerminate:(UIApplication *)application

在您的应用控制器中。

【讨论】:

以上是关于iPhone SDK:将流式音频文件保存到 Documents 文件夹的主要内容,如果未能解决你的问题,请参考以下文章

Symfony + sonata bundle - Iphone 用户无法播放我的流式音频文件

pyav:将视频和音频从流式 hls 中保存到单独的文件中

iPhone 的 webViewDidFinishLoad 是不是会检测到流式音频文件的“播放结束”

iPhone音频流 - 保存状态?

将音频从 Mac 上的麦克风流式传输到 iPhone

如何通过套接字或框架将音频从 iPhone 的麦克风流式传输到 Mac/PC?