iOS 应用程序可以被动地收听特定声音吗?

Can an iOS app passivly listen for a certain sound?

我知道 iPhone 响应 "hey Siri"。我可以在我的应用程序中使用类似的功能来收听某些声音吗?如果是这样,要使用的 iOS 框架的名称是什么?

当然可以,您可以实施 recorder 从麦克风录音,然后从录音文件中检查您可能需要的任何内容。

顺便说一句,某些声音是什么意思?

我觉得这听起来有点棘手,所以请详细说明您的问题。商业原因是什么?你将如何表现"listen for certain sounds"?你如何检查它是 "certain"。我认为使用 iOS 是一件非常困难的事情,但也许我问错了你的问题。

更新:根据您的评论:是的,这是可能的,但不像 "hey ios check if it's a gunshot" :)))

但我认为您可以通过检查音量来做到这一点。如果声音很大,那就是枪声。我认为它会起作用,因为用户会故意使用它。检查这个 link.

另外,我看到了一个类似的枪手应用程序。所以我确定这是可行的:)

很快:找到方法:1. 使用麦克风。 2.听声音。 3. 检查 volume/length 的声音 4. 尝试通过测试

进行检测

PS:编码时注意拍摄:)

如果您的 "certain" 声音指的是口语。 Apple 具有用于确定特定单词的 Speech 识别框架。

但是,如果您可能正在尝试测量特定频率,就像许多吉他调谐器应用或其他音乐录音类型应用一样,我建议您深入阅读 AVFoundation 的音频工程指南。

不,没有 API。 Hey Siri 是 OS 的一部分,并提供 hardware-level 支持。您的应用只能在 运行 时使用麦克风;支持在录制音频时让应用程序保持活动状态,但电池影响会很严重——设备无法进入睡眠状态——因此通过应用程序审查的可能性极小。也就是说,如果您希望将来添加 API 支持,请根据您想到的用例提交 enhancement request