0

我正在开发广播应用程序,我想在点击录制按钮时录制实时广播流。它应该只录制广播流的声音。目前我正在从 Mike 录制,但这不是我想要的方式,因为它还捕获了周围/背景的声音。我确实读过几篇文章,但它们都是关于 AVaudioRecorder 的。我已经使用 wunderradio api 从 url 播放广播。我在他们的 api 中没有任何方法/函数可以记录来自 url 的音频。我只想从该 url 录制缓冲的音频,以便稍后播放该录制的文件。

任何帮助,将不胜感激。

4

1 回答 1

0

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

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

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

于 2013-01-21T08:25:53.390 回答