AppleWatch 语音转文本功能不起作用

AppleWatch Speech-to-Text functionality not working

我正在尝试为 watchkit 应用程序实现语音转文本功能。 我提到了 有示例代码的问题。

以下是我试过的代码:

self.presentTextInputControllerWithSuggestions(["Start it", "Stop it"], allowedInputMode: .Plain, completion: { (selectedAnswers) -> Void in
    if selectedAnswers.count > 0 {
        if let spokenReply = selectedAnswers[0] as? String {
            self.label.setText("\(spokenReply)")
        }
    }
})

label是显示我说的文字的标签。 当我 运行 它时,它会显示你应该说话的屏幕(类似 Siri 的屏幕),你在顶部有两个选项:“取消”和“完成”。讲完后,我点击“完成”,但屏幕没有消失或显示初始屏幕,我总是必须点击“取消”才能返回,而且我没有得到任何形式的语音数据文本。我检查了一下,似乎 selectedAnswers 总是一个空数组,除非我点击 "Start it"/"Stop it" 选项。

谁能帮我解决这个问题?我想在 label 上显示语音消息。我在 InterfaceController.swift 文件的 awakeWithContext 方法中有代码,我应该把它放在其他地方吗?

我在 AppleWatch 上使用 iPhone 和 iOS 9 beta 2 和 watchOS 2 beta。

谢谢!

您可以要求用户输入并给他建议(参见下面的 Swift 示例)。

self.presentTextInputControllerWithSuggestions(["suggestion 1", "suggestion 2"] allowedInputMode: .Plain, completion: { (answers) -> Void in
if answers && answers.count > 0 {
    if let answer = answers[0] as? String {
        println("\answer")
    }
}
})

如果建议为零,则直接进入听写。它不能在模拟器上运行,但可以在真实手表上运行。

您的方法是正确的,但您的 SIRI 有问题,请尝试更改语言。

它应该像这样工作。