Swift中的实时录音

时间:2016-09-20 09:29:03

标签: ios objective-c swift

我正在构建一个需要进行实时录音的应用程序。我正在使用Swift进行项目 - 因此无法使用Novocaine库(因为它有一些Obj-C ++代码)。

我需要的是获取小块的录音(实时),我可以处理或发送到我的websocket。是否有可以用来实现此目的的Swift库?

除了从麦克风获取实时音频外,我还需要显示实时波形。

  • 开始录制
  • 每隔几个字节的记录数据获取一个事件,我可以将这些字节发送到我的websocket。
  • 显示音频的波形。

让我知道。

1 个答案:

答案 0 :(得分:4)

您不需要任何第三方工具来从麦克风获取音频。它可以使用AVAudioEngine轻松设置。但是,为了最大限度地减少网络流量,我建议使用lame将原始PCM音频流压缩为mp3。

Here你可以找到具有最小功能的项目,用于获取麦克风输入和压缩成mp3。在这个示例项目中,mp3存储到Documents文件夹中,因此您可以尝试并聆听以确保其有效。

从这一点开始,您可以使用mp3缓冲区并通过套接字发送。您还可以使用蹩脚的设置来改变质量等。

还有另一个名为no-lame的分支,其中实现了相同的功能而没有蹩脚的编码。 Look here