ios - Swift 中的实时录音

标签 ios objective-c swift

我正在构建一个需要进行实时录音的应用程序。我在项目中使用 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/

相关文章:

ios - animateWithDuration 在 vi​​ewWillAppear ios 9 objective-c 中不起作用

iphone - 按下细节披露后的注释细节?

ios - 类型 '()' 不能符合 'View' ;只有结构/枚举/类类型可以符合协议(protocol)

ios - 二元运算符 '/' 不能应用于两个 'UInt32' 操作数

ios - 如何使用 UIScrollView 将按钮放置在屏幕外?

ios - iOS 部署目标 'IPHONEOS_DEPLOYMENT_TARGET' 设置为 8.0,在 Flutter 中如何更改最小 IOS Deploying Target

ios - 为什么直接引用协议(protocol)方法swift编译不通过?

ios - IOS中如何读取结构数组

ios - iOS 中的 Google Drive 集成在调用插入时出错

Swift FBSDK 获取用户国家/地区