gpt4 book ai didi

swift - 如何在用户停止使用 Swift 2 说话时停止录制语音

转载 作者:搜寻专家 更新时间:2023-11-01 07:26:21 24 4
gpt4 key购买 nike

我将 AVFoundation - AVAudioRecorder - AVAudioPlayerSwift 2 一起使用,并创建了一个简单的录音机。目前,您可以使用停止按钮停止录制。用户停止说话时是否可以停止录音?像 Siri 这样的东西。谢谢!

最佳答案

一种可能的解决方案是使用 AVAudioRecorder 的音频电平计量。我从未尝试过,所以我不确定它有多准确,或者对背景噪音有多敏感。

我会看看这个 https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVAudioRecorder_ClassReference/#//apple_ref/occ/instm/AVAudioRecorder/averagePowerForChannel :

根据文档,averagePowerForChannel 返回

The current average power, in decibels, for the sound being recorded. A return value of 0 dB indicates full scale, or maximum power; a return value of -160 dB indicates minimum power (that is, near silence).

当您开始录音时,我会在一两秒内对该值进行采样,然后将其取平均值,从而为您提供背景噪音水平。

当用户说话时,音量应该从这里开始。

继续监测这个值,然后当它返回到背景水平内的某个范围一秒钟左右时,关闭记录。

它可能不如 Siri 准确(它可能会进行更多处理,并可能进行语音检测),但它可能足以满足您的需求。

挑战在于找出背景水平和通话音量之间的差异以及灵敏度 - 如果它们很接近,则可能效果不佳。

关于swift - 如何在用户停止使用 Swift 2 说话时停止录制语音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35872640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com