在IOS中录制无线电流

时间:2012-04-25 10:36:52

标签: iphone objective-c ios5 streaming buffering

我正在制作收音机应用程序,我想在录制按钮上录制实时广播流。它应该只录制无线电流声音。目前我正在录制迈克,但它不是我想要的方式,因为它还捕获周围/背景声音。我确实阅读了一些帖子,但所有这些都与AVaudioRecorder有关。我使用wunderradio api从网址播放收音机。我的api中没有任何方法/函数可以记录来自url的音频。我想只从该网址录制缓冲的音频,以便我以后可以播放该录制的文件。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

使用麦克风录制音频播放确实不是正确的方法。如果您正在使用AudioQueue服务进行音频播放,则可以使用 AudioFileWritePackets 功能将音频数据写入文件。

如果您以这种方式实现录制,您可以使用它们流式传输的格式编写音频文件。因此,您可以使用AudioFileWritePackets函数编写编码音频数据包,因此可以将mp3音频流写为磁盘文件。

为了更好地理解如何实现这一切,您可以查看Apple的 SpeakHere 示例代码。 SpeakHere项目从麦克风录制,但它仍然是一个很好的例子,可以看到AudioFileWritePackets功能的工作原理。在您的情况下,您需要在AudioQueue的输出回调中使用AudioFileWritePackets函数。这是缓冲区完成播放时调用的回调。因此,将已经播放的音频缓冲区数据写入文件是一件好事。