我正在构建一个需要进行实时录音的应用程序。我在项目中使用 Swift - 所以无法使用 Novocaine 库(因为它有一些 Obj-C++ 代码)。
我需要的是获取小块录音(实时),我可以处理或发送到我的 websocket。有没有我可以用来实现此目的的 Swift 库?
除了从麦克风获取实时音频外,我还需要显示实时波形。
- 开始录制
- 每隔几个字节的记录数据获取一个事件,我可以将这些字节发送到我的 websocket。
- 显示音频的波形。
让我知道。
最佳答案
您不需要任何第 3 方工具即可从麦克风获取音频。它可以使用 AVAudioEngine 轻松设置。但是,为了最大限度地减少网络流量,我建议使用 lame 将原始 PCM 音频流压缩成 mp3。
Here您可以找到具有最少功能的项目来获取麦克风输入并压缩成 mp3。在此示例项目中,mp3 存储在 Documents 文件夹中,因此您可以试听以确保其正常工作。
从这一点开始,您可以获取 mp3 缓冲区并通过套接字发送。您还可以使用蹩脚的设置来改变质量等。
还有另一个名为 no-lame
的分支,其中实现了相同的功能但没有使用 lame 编码。 Look here
关于ios - Swift 中的实时录音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39590450/