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 有问题,请尝试更改语言。
它应该像这样工作。
我正在尝试为 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 有问题,请尝试更改语言。
它应该像这样工作。