我目前正在开发一个关于iPhone上的说话人识别的Cydia调整。此调整可以识别当前用户是否是电话所有者(在培训之后)。这个调整已经在Android上实现,我们已经编译并测试了核心库。我们面临的唯一困难是如何从Siri捕获音频数据。我们尝试过:
钩子函数“ - (void)_tellSpeechDelegateRecordingWillBegin”和“ - (void)_tellSpeechDelegateRecordingDidEnd”并使用AvAudioRecorder录制音频 - 失败,因为当Siri录制时所有AvAudioSession都会被中断。
hooked function“ - (void)startSpeechRequestWithSpeechFileAtURL:(id)arg1”。这个函数似乎与音频文件有关,但我们可以将函数与Logos tweak框架挂钩。
我们正在考虑两种可能的方式:
但我们对这些选择缺乏经验。有没有人有想法从Siri(通过电话但不通过外部服务器)捕获音频
检查this。 我发现有一个名为“AFSpeechRecorder”的课程。它被用于Siri。我想它必须与音频数据有关。但不幸的是,这个类在iOS 7中被删除了。无法了解这些变化。