如何在 swift 中使用特定阈值过滤器录制音频

How to record audio with a certain threshold filter in swift

我需要在 swift 中的一个应用程序中添加此功能,我希望用户调整阈值,因此只有当它超过用户设置的限制并停止时才会被记录自动或在用户停止时的给定时间。

如果您可以分享您在如何将所有数据收集到一个文件中的专业知识,比如当用户暂停并继续时,它会将所有音频保存在一个文件中,那就太好了。

谢谢。

我在录音方面的专业知识不多,但我至少可以为您指明正确的方向。


关于“在用户pre-set阈值上开始实际录制”的第一个问题:

音频使用称为分贝或简称 'dB' 的单位进行测量。设备和麦克风之间的阈值略有不同,因此您的用户必须根据他们听到的切换或声音来选择一个级别。例如,您可以提供一个切换开关来显示当前不断变化的音频级别,并让用户滑动到某个值。你可以查看 App Store 上的 Discord iOS App 或 Decibel Meter 来了解一下。

Swift 中有一个很好的示例,展示了如何跟踪分贝水平并在超过特定阈值时执行操作。 (例如,您可以暂停和恢复音频会话)


关于“如何在一个文件中暂停、恢复和收集”的第二个问题:

据我了解,音频会话会将所有内容输出到同一个文件,即使您多次暂停和恢复它也是如此。

Apple 有一个关于如何处理外部系统中断(例如呼叫)的优秀草案

Post 1

Post 2


希望我对你的任务有所帮助