如何检测用户在 iOS 中使用了语音输入?

Posted

技术标签:

【中文标题】如何检测用户在 iOS 中使用了语音输入?【英文标题】:How to detect that the user has used speech input in iOS? 【发布时间】:2013-03-04 19:36:29 【问题描述】:

我想检测用户何时使用 ios 键盘麦克风向 UITextField 添加文本。因此,在键盘出现进行文本输入后,只要他们使用听写麦克风一次,就会设置一个标志,指示他们已使用语音输入。出于使用分析的目的,我需要这样做。

我尝试根据这个捕获dictationRecordingDidEnd

https://developer.apple.com/documentation/uikit/uitextinput

这里的作者遇到了同样的问题: dictationRecordingDidEnd never called

因为该方法似乎永远不会执行。还有其他检测语音输入的方法吗?

【问题讨论】:

【参考方案1】:

MyThis 是采用的协议,因此您需要重写该方法。这对我在 iOS 8.1.1 下运行很有用:

#import <UIKit/UIKit.h>

@interface MyTextField : UITextField

@end


#import "MyTextField.h"

@implementation MyTextField

- (void) dictationRecordingDidEnd 
    printf("dictationRecordingDidEnd\n");


@end

【讨论】:

希望这不是私有方法。

以上是关于如何检测用户在 iOS 中使用了语音输入?的主要内容,如果未能解决你的问题,请参考以下文章

用户说话时如何捕捉语音输入

如何检测用户何时加入语音频道?

如何在 Python 中进行实时语音活动检测?

如何触发 iOS 应用开始离线识别语音命令?

在 iOS 中录制语音时如何以编程方式生成音频波形?

在 iOS 中同时管理文本到语音和语音识别